Asp.net 为什么我需要使用.d来访问jQueryAjax返回的数据?
我使用在互联网上找到的一些教程编写了一些jqueryajax代码。我是jQuery新手,希望学习如何做得更好。我有一位同事,他使用大量jQuery组合了一个漂亮的web应用程序 我在这里最困惑的是:为什么在提到我的web方法的响应时需要使用“.d”,它代表什么Asp.net 为什么我需要使用.d来访问jQueryAjax返回的数据?,asp.net,jquery,json,serialization,Asp.net,Jquery,Json,Serialization,我使用在互联网上找到的一些教程编写了一些jqueryajax代码。我是jQuery新手,希望学习如何做得更好。我有一位同事,他使用大量jQuery组合了一个漂亮的web应用程序 我在这里最困惑的是:为什么在提到我的web方法的响应时需要使用“.d”,它代表什么 // ASP.net C# code [System.Web.Services.WebMethod] public static string hello() { return ("howd
// 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
我猜alert(msg)
显示“[object]”
如果是这样,那是因为通过window.JSON
解析的对象(在将JSON
指定为数据类型时发生在引擎盖下)看起来确实是:
object = {
d: "some data"
}
检查您在ViewNamesAndNumbers.aspx/hello中生成的内容。它是在ASP.NET 3.5版本的ASP.NET AJAX中添加的,以防止您受到此漏洞的攻击:
(答案来源于)Microsoft这样做是为了保护您免受安全漏洞攻击。有关详细信息,请参见的底部