2010-11-01 2 views
0

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

ответ

2

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

EDIT: пример, это делает сообщение обработчику.ashx одним параметром «jsonData». Я использую метода JSON.stringify (часть библиотеки JSON2) -

$.ajax({ 
    url: "handler.ashx", 
    type: "POST", 
    data: ({jsonData : JSON.stringify(yourDataObject) }), 
    success: function(msg){ 
     alert(msg); 
    } 
}); 
+0

спасибо - у вас пример на $ .ajax или $ .post, который будет проходить весь объект JSON в виде одной строки? Все мои попытки, похоже, передают объект как огромный массив формы, а не как одно значение формы. Благодарю. – DEH

+0

Добавлен пример, вы уже создали свой объект данных? Если вы установите данные: JSON.stringify (yourDataObject), то он разломит его на множество параметров. Вы должны явно указать его на переменную (т. Е. JsonData). –

+0

brill, спасибо большое. – DEH

0

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

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

Смежные вопросы