Ajax重定向错误

时间:2014-12-10 00:16:01

标签: javascript php jquery ajax

我通过ajax调用调用php文件,如果它没有返回任何内容我想将用户重定向到另一个页面(这是用于错误报告,如果它没有返回任何内容,则表示用户已登录)。试图添加错误部分,但它不起作用。任何建议都会有帮助。谢谢!顺便说一句,我在ajax函数的顶部有一个小的jQuery函数,为什么它会破坏我的整个ajax调用?

ajax.js

function loginAjax() {

//$("#email_errors").empty(); //This function doesnt work and kills whole ajax call. Here is loginAjax function call line - <button type = "submit" id = "push_button" onclick = "loginAjax(); return false">PushMe</button>

$.ajax({
url: "Classes/call_methods_login.php",
type: "POST",
dataType: "json",
data: {
login_email: $("#login_email").val(),
login_password: $("#login_password").val(),
},
success: function(data) {
$("#login_error").html(data.login_message);
}

});
}

2 个答案:

答案 0 :(得分:1)

$.ajax({
url: "Classes/call_methods_login.php",
type: "POST",
dataType: "json",
data: {
login_email: $("#login_email").val(),
login_password: $("#login_password").val(),
},
success: function(data) {
 $("#login_error").html(data.login_message);
},
error: function(){
 window.location.replace("http://stackoverflow.com");
}

});
}

答案 1 :(得分:0)

要使用javascript重定向,您只需覆盖location.href属性。

function loginAjax() {

  $.ajax({
    url: "Classes/call_methods_login.php",
    type: "POST",
    dataType: "json",
    data: {
      login_email: $("#login_email").val(),
      login_password: $("#login_password").val(),
    },
    // the success method is deprecated in favor of done.
    done: function(data) {
      $("#login_error").html(data.login_message);
    },
    fail: function(data) {
      location.href="path/to/error/page";
    }
  });
}