是否可以格式化对象从PageMethod以JSON的形式返回的方式?即。从数据中删除第一个“d”元素,而无需从头开始编写JSON。
来自{“d”:{“name”:“bob”,“email”:“bob@example.com”}}
要{“name”:“bob”,请发送电子邮件至:“bob@example.com”}
答案 0 :(得分:4)
.NET框架添加了额外的"d"
参数作为针对XSS攻击[source]的附加安全措施。如果请求的"Content-Type"
指定"application/json"
,则会包含此内容。
我认为如果您只是将请求的"d"
指定为,则可以让框架将其排除(即不将结果包装在"Content-Type"
中) "application/json"
以外的其他内容。尝试从请求中删除该标头(如果可以)并查看.NET返回的内容。
答案 1 :(得分:1)
没有。 Microsoft的JSON序列化程序在服务器端出于某种原因添加了d,并且反序列化JSON字符串的客户端AJAX代码期望它存在。