Ajax调用无法正常工作

时间:2013-11-14 15:31:08

标签: ajax

$.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。代码中有什么问题?

3 个答案:

答案 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调用正常运行。 :)干杯......