Передать сложный объект JSON в Ashx через JQuery - PullRequest
0 голосов
/ 01 ноября 2010

У меня есть сложный объект json на клиенте (вложенные массивы), и мне нужно передать его на сервер для обработки. В настоящее время я использую ashx и экспериментирую с вызовами jquery $ .ajax и $ .post, пытаясь вернуть полезную структуру на сервер. Может ли кто-нибудь посоветовать мне лучший способ передачи моего сложного объекта json, чтобы я мог проанализировать его на сервере и получить доступ к различным вложенным массивам json и т. Д.? Спасибо большое. Я использую ASP.NET 2.0

Ответы [ 2 ]

2 голосов
/ 01 ноября 2010

В настоящее время я делаю это, передавая объект JSON на сервер в виде строки (один параметр), а затем анализирую его обратно в объект. Я предпочитаю библиотеку JSON2 для преобразования объекта в строку. На стороне сервера проверьте этот post для способов десериализации его обратно в объект.

РЕДАКТИРОВАТЬ: например, это делает запись в handler.ashx с одним параметром 'jsonData'. Я использую метод JSON.stringify (часть библиотеки JSON2) -

$.ajax({
   url: "handler.ashx",
   type: "POST",
   data: ({jsonData : JSON.stringify(yourDataObject) }),
   success: function(msg){
      alert(msg);
   }
});
0 голосов
/ 01 ноября 2010

Вы можете сериализовать объект Javascript в виде строки JSON и просто передать его в качестве параметра. На стороне сервера вы бы использовали JSON-анализатор, чтобы десериализовать его во что-то пригодное для использования.

На клиенте действительно нет такой вещи, как "JSON Object". Это просто Javascript (хорошо ECMAscript, если вы привередливы). Есть легкодоступные библиотеки для этой сериализации (см. Json.org).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...