Javascript AJAX成功或错误未触发

Javascript AJAX成功或错误未触发,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我似乎不明白这为什么不起作用,也找不到相关的文章。我可以从post请求中看到firebug中的json对象返回success:false或success:true,所以我不知道函数为什么不能启动 阿贾克斯 php 您发送的是一个字符串(在本例中为json),没有提到任何标题。所以它总是200行 因此,错误永远不会发生 success: function(data){ window.localation=data.redirect; <----- error here.

我似乎不明白这为什么不起作用,也找不到相关的文章。我可以从post请求中看到firebug中的json对象返回success:false或success:true,所以我不知道函数为什么不能启动

阿贾克斯

php


您发送的是一个字符串(在本例中为json),没有提到任何标题。所以它总是200行

因此,错误永远不会发生

success: function(data){
        window.localation=data.redirect;   <----- error here. location         
    },
使用


这将给您一条403禁止消息。

代码中有两件事需要更正


  • success
    回调中将
    window.localation
    更改为
    window.location
  • 在ajax请求中添加
    数据类型:“JSON”
    ,或在成功回调中使用
    $.parseJSON
  • 因此,您的成功回调应该是:

    success: function(data){
                data = $.parseJSON(data); // <- Don't use this if you add dataType: 'JSON' in ajax
                window.location=data.redirect;        //<- Spelling corrected for location    
            }
    
    成功:函数(数据){
    
    数据=$.parseJSON(数据);//检查控制台是否有错误消息。
    window.localation
    ?这是一个输入错误?请尝试在ajax请求中指定
    dataType:'Json'
    。并更正您的输入错误,而不是
    window.localation
    它应该是
    window.location
    。您确定这些函数没有启动吗?如果您在其中设置断点,它会在您得到断点时停止吗那里
    success: function(data){
            window.localation=data.redirect;   <----- error here. location         
        },
    
    } else { 
        $data['success'] = false;
        $data['incorrect'] = "Incorrect Username or Password.";
     } 
    
    } else { 
        header('HTTP/1.0 403 Forbidden');
        echo 'Incorrect Username or Password.';
        exit;
     } 
    
    success: function(data){
                data = $.parseJSON(data); // <- Don't use this if you add dataType: 'JSON' in ajax
                window.location=data.redirect;        //<- Spelling corrected for location    
            }