通过jquery将复杂的json对象传递给ashx

时间:2010-11-01 14:14:10

标签: jquery ajax arrays json nested

我在客户端(嵌套数组)上有一个复杂的json对象,需要将它传递给服务器进行处理。我目前正在使用ashx,我正在尝试使用jquery $ .ajax和$ .post调用来尝试将可用的结构返回给服务器。谁能告诉我最好的方法来传递我复杂的json对象,以便我可以在服务器上解析它并访问各种嵌套的json数组等?非常感谢。我正在使用ASP.NET 2.0

2 个答案:

答案 0 :(得分:2)

我目前通过将JSON对象作为字符串(单个参数)传递给服务器,然后将其解析回对象来完成此操作。我更喜欢JSON2 library将对象字符串化为字符串。在服务器端,检查此post以获取将其反序列化为对象的方法。

编辑:例如,这使用单个参数'jsonData'向handler.ashx发布帖子。我使用JSON.stringify方法(JSON2库的一部分) -

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

答案 1 :(得分:0)

您可以将Javascript对象序列化为JSON字符串,并将其作为参数传递。在服务器端,您将使用JSON解析器将其反序列化为可用的内容。

在客户端上,实际上没有“JSON对象”这样的东西。它只是Javascript(如果你是安全的话,那么ECMA脚本也是如此)。有很多可用的库来进行序列化(参见json.org)。