【发布时间】:2014-12-29 22:46:00
【问题描述】:
我正在使用我的 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 中获得了价值
谢谢
【问题讨论】:
-
没有 JSON 代码无法回答。
-
data是从端点返回的 JSON 对象。d是它的属性之一,您正在检查data的d属性是否等于字符串'success'。 -
你可以不用 JSON 代码来回答...服务器正在返回带有名为
d的变量的 JSON -
.d不是任何属性或变量,请参阅更新后的帖子 -
c# 3.5 及更高版本将所有数据放入变量'd'中。
标签: javascript jquery asp.net ajax json