什么{“d”:“”}表示在asp.net webservice响应中

前端之家收集整理的这篇文章主要介绍了什么{“d”:“”}表示在asp.net webservice响应中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个简单的C#asp.net Web服务函数,它返回一个字符串消息
我使用jquery ajax从页面调用它.

C#:@H_404_4@

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld() {
    return DateTime.Now.ToString();
}

JS:@H_404_4@

$(document).ready(function() {
    //alert("ready");
        $.ajax({
            type: "POST",contentType: "application/json; chatset=utf-8",url: "WebService2.asmx/HelloWorld",data: "{}",dataType: "json",success: function(msg) {
                //alert(msg); //doesnt works
                alert(msg.d);
            }
        });
    });

我的问题是为什么警报(msg);不起作用@H_404_4@

解决方法

这是一种安全加固机制.

从本质上讲,它有助于防御CSRF类型的攻击,攻击者从受害者网站读取JavaScript数组(从Json下载).他们可以通过覆盖JavaScript的Array类型来做到这一点. d导致返回的Json不是一个数组,从而使阵列覆盖对攻击者无效.@H_404_4@

看到这篇伟大的博文:http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx@H_404_4@

原文链接:https://www.f2er.com/aspnet/251669.html

猜你在找的asp.Net相关文章