$.ajax({
type: "POST",
url: "Login.aspx/LoginUser",
data: "{'LoginObject':" + JSON.stringify(LoginObject) + "}",
contentType: "application/json",
dataType: "json",
success: function (data) {
if (data.d == "Success") {
location.href = "Share.aspx";
}
else if(data.d == "Failure")
{
$("#lblStatus").html("Username or Password supplied is invalid. Please try again.");
}
},
});
当data.d为Failure时,则执行条件语句,但当data.d为Success时,页面不会跳转到Share.aspx。代码中有什么问题?
答案 0 :(得分:0)
您发送的请求格式很可能存在问题。查看开发工具的网络选项卡,然后查看html req / resp。查看请求主体(LoginObject)的格式,并将其与服务器技术文档中的相应请求格式进行比较。
不需要为data
参数“stringify”您的LoginObject。 data
参数需要一个对象文字作为值。
data类型:PlainObject或String要发送到服务器的数据。它是 转换为查询字符串,如果还不是字符串。它附加到 GET请求的URL。请参阅processData选项以防止这种情况 自动处理。对象必须是键/值对。如果价值是 Array,jQuery使用相同的密钥序列化多个值 传统环境的价值(如下所述)。
$.ajax({
type: "POST",
url: "Login.aspx/LoginUser",
data: {
LoginObject:LoginObject
},
contentType: "application/json",
dataType: "json",
success: function (data) {
console.dir(data);
if (data.d == "Success") {
location.href = "Share.aspx";
} else if(data.d == "Failure") {
$("#lblStatus").html("Username or Password supplied is invalid. Please try again.");
}
},
});
答案 1 :(得分:0)
jQuery.ajax({
type: "POST",
url: "Login.aspx/LoginUser",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
id: ce
}),
success: function(data) {
if (data.d == "Success") {
location.href = "Share.aspx";
} else if (data.d == "Failure") {
$("#lblStatus").html("Username or Password supplied is invalid. Please try again.");
}
},
error: function() {
alert("Oh no:");
}
});
答案 2 :(得分:0)
遇到了问题!我的一个Web服务是调用FormsAuthentication.RedirectFromLoginPage(用户名,true)。这显然是为什么我得到身份验证失败!删除后,ajax调用正常运行。 :)干杯......