为什么我们在从ajax json调用获取响应时使用data.d
Why we use data.d while get response from ajax json call?
我使用Html页面中的AJAX
调用来调用asmx.cs文件中的方法,使用以下代码:
<script type="text/javascript">
function ajaxCall() {
var UserName = $("#<%=lblUsername.ClientID %>").text();
$("#passwordAvailable").show();
$.ajax({
type: "POST",
url: 'webServiceDemo.asmx/CheckOldPassword',
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({ UserName: UserName }),
success: function (data) {
if (JSON.parse(data.d) != "success") // Why we need to use "data.d" ??
{
$("#passwordAvailable").attr("src", "App_Themes/NewTheme/images/deleteICN.gif");
$("#<%=txtOldPwd.ClientID %>").css({ 'border': '1px solid red' });
}
else {
$("#passwordAvailable").attr("src", "App_Themes/NewTheme/images/signoff.gif");
}
}
});
}
</script>
所以我的问题是为什么我们需要使用data.d
?为什么所有数据都存储在.d
中,什么是.d
?
因为当我只使用data
时,它不会给我正确的返回值,但当我使用data.d
时,它会。
请给我建议。
服务器端代码C#
[WebMethod]
public string CheckOldPassword(string UserName)
{
// code here
string sRtnValue = "success";
return sRtnValue;
}
所以d
不是属性或变量,但我仍然得到了.d
中的值感谢
C#3.5及以上版本将把所有JSON响应序列化为变量d
。
当服务器发送JSON响应时,它将具有类似以下的签名:
{
"d" : {
"variable" : "value"
}
}
使用ajax成功函数中的console.log(data)
,您将在浏览器控制台中看到响应数据结构。
相关文章:
- Ember Data DS.Model's set函数不起作用
- 如何将getJson的响应保存在全局变量中
- Extending Ext.data.NodeInterface
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- 响应动画手风琴不工作
- 如何获取$data.Entity的密钥
- 如何从SeleniumWebdriver获取异步Javascript响应
- Ajax调用在Firefox中不会自动响应
- 可以在响应时隐藏iphone上的“播放”按钮以进行视频播放
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 如何在 JavaScript 中访问 data.submit() 的 json 响应对象
- 为什么我们在从ajax json调用获取响应时使用data.d
- Ember Data 2.1.0忽略了JSON响应中的links属性
- ember.js/ember-data期望从post请求得到什么样的响应?
- Angular工厂返回index.html作为响应.data而不是JSON
- Net套接字-确定在套接字on("data")下当前正在响应哪个请求