一尘不染

为什么我需要使用.d来访问jQuery AJAX返回的数据?

json

我使用在互联网上找到的一些教程,整理了一些jQuery
AJAX代码。我是jQuery新手,想学习如何做得更好。我有一个同事,他使用很多jQuery编写了一个漂亮的Web应用程序。

我在这里最困惑的是:为什么在引用我的Web方法的响应时必须使用“ .d”,它代表什么?

    // ASP.net C# code
    [System.Web.Services.WebMethod]
    public static string hello()
    {
        return ("howdy");
    }

// Javascript code
function testMethod() {
    $.ajax({
        type: "POST",
        url: "ViewNamesAndNumbers.aspx/hello",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            alert(msg);   // This doesn't display the response.
            alert(msg.d); // This displays the response.
        } // end success:
    }) // end $.ajax

阅读 155

收藏
2020-07-27

共1个答案

一尘不染

它是在ASP.NET 3.5的ASP.NET
AJAX版本中添加的,以防止您容易受到此攻击:http : //haacked.com/archive/2009/06/25/json-
hijacking.aspx

(答案来源于http://encosia.com/2009/06/29/never-worry-about-asp-net-ajaxs-d-
again/)

2020-07-27