asp.net - 如何让 Ajax.Net PageMethod 返回 JSON

标签 asp.net ajax json pagemethods

我正在使用 AJAX.Net 调用 ASP.Net PageMethod,该方法返回 JSON 序列化 JSON 数据

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

响应 header 将内容类型声明为

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

但是,数据仅以字符串形式提供,并且似乎不能以 JavaScript 的 JSON 数据形式提供。我需要做什么才能处理 JavaScript 返回的 JSON 数据?

最佳答案

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有关此特定解析器的更多信息...我相信还有其他解析器可供选择,并且它们的工作方式非常相似。

关于asp.net - 如何让 Ajax.Net PageMethod 返回 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2052642/

相关文章:

javascript - 如何在打字时设置文本框格式?

java - 一个文件中包含多种服务器端语言?

c# - Asp.Net 5. Jwt token 撤销

ajax - 以编程方式将产品添加到用户的远程 magento 购物车

c# - 使用 JsonUtility 反序列化嵌套对象

c# - 如何访问源错误、源文件和异常的行号以在自定义错误页面中使用?

php - 如何在 Blade 中循环 Ajax 响应

javascript - Ajax请求未执行返回未定义

php - 生成 XML

c# - Nancy FX 在模型绑定(bind)上将字典中的键大写