【问题标题】:Returning .net Hashtable from a JQuery ajax request从 JQuery ajax 请求返回 .net Hashtable
【发布时间】:2009-08-04 16:35:11
【问题描述】:

我有一个 web 方法,它通过 jQuery ajax 调用返回一个哈希表,如下所示:

$.ajax({
   type: "POST",
   url: webMethod,
   data: {}
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   success: function(json){
      **alert(json.d);**
   },
   error: function(XMLHttpRequest, textStatus, errorThrown) {
      alert(textStatus);
   }
});

我的问题是,当我将它部署到服务器时,json.d 是未定义的,而是 json 是哈希表。在我的本地盒子上,它相反的 json.d 是 hastable 而不是 json 对象。

我已经将它追溯到一个点,我可以看到返回的 JSON 字符串有时是 {d:{}},而在服务器上它是 {}。

有人知道为什么吗?

【问题讨论】:

  • 请显示服务器端代码。另外,请说明您使用的 .NET 版本。

标签: .net jquery web-services json


【解决方案1】:

我尝试使用这个 firefox 插件来查看 json 数据的样子

https://addons.mozilla.org/en-US/firefox/addon/10869/

它会很好地格式化所有返回的 json,以便您可以看到您的对象是什么样子。

【讨论】:

    【解决方案2】:

    原来这取决于您使用的 .net 框架版本。如果您使用 3.5,他们会添加 Json.d 变量作为安全度量。如果您使用的是 framework 3.0,它不会出现。

    【讨论】:

      猜你喜欢
      • 2011-06-30
      • 2022-01-20
      • 2013-11-29
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多