代码之家  ›  专栏  ›  技术社区  ›  James

如何让ajax.net pagemethod返回json

  •  3
  • James  · 技术社区  · 16 年前

    我正在使用Ajax.net调用ASP.NET PageMethod,它返回JSON序列化的JSON数据

    {"d":"[{\"Fromaddress\":\"testfrom1@test.com\",\"Toaddress\":\"testto1@test.com\"},{\"Fromaddress\":\"testfrom2@test.com\",\"Toaddress\":\"testto2@test.com\"}]"}
    

    响应头将内容类型声明为

    "Content-Type   application/json; charset=utf-8"
    

    然而,这些数据只是作为一个字符串提供的,并且似乎不能作为来自JavaScript的JSON数据提供。我需要做什么来处理从javascript返回的JSON数据?

    1 回复  |  直到 16 年前
        1
  •  4
  •   wprl    16 年前
    var myData = eval('(' + text + ')');
    

    尽管这可能是一个安全风险。相反,您可能希望使用JSON解析器,例如这个可用的表单 https://github.com/douglascrockford/JSON-js/blob/master/json2.js

    然后你得到如下符号:

    var myData = JSON.parse(text);
    

    http://www.json.org/js.html 有关此特定分析器的详细信息…我相信还有其他人可以选择,他们的工作方式非常相似。

    推荐文章