jquery ajax帖子没有执行

时间:2014-03-30 17:15:50

标签: javascript jquery ajax

我对jQuery ajax有点问题。 我想将POST发送到.php文件,然后更改当前的URL。我尝试了以下代码:

<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> 
<script>
window.onload = function () {
    $.ajax({
        type: "POST",
        url: "sample.php",
        data: {'username': "STRING"},
        timeout: 1000,
        complete: function(){
            window.location.href = 'http://127.0.0.1/sample/another.php';
        }
    });
}
</script>

因此,正如我在chrome开发人员工具网络选项卡中看到的那样,没有执行POST。虽然URL已更改为another.php

你能告诉我我做错了什么或我如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

使用成功而非完整

 $.ajax({
        type: "POST",
        url: "sample.php",
        data: {'username': "STRING"},
        timeout: 1000,
        success : function(){
            window.location.href = 'http://127.0.0.1/sample/another.php';
        }
    });

答案 1 :(得分:0)

你永远不会看到POST。导致url更改并记住another.php没有发出任何AJAX请求!所以你永远都找不到任何东西。尝试将成功方法中的JS代码更改为类似警报的内容,以了解它是否有效!然后你可能会在控制台中找到POST方法!

答案 2 :(得分:0)

或者,您也可以使用.done()。您也可以考虑在自执行函数内部而不是window.onload事件中进行范围限定。

    (function($){

    // Make an object for your param values. 
    var ajaxData = {
        username: 'STRING',
        anotherParam: 'STRING',
        andanotherParam: 'STRING',
        yetanotherParam: 'STRING'
    };

    $.ajax({
        type: "POST",
        url: "sample.php",
        data: ajaxData
    }).done(function(){
        window.location.href = 'http://127.0.0.1/sample/another.php';
    }).fail(function(jqXHR, textStatus) {
        alert( "Request failed: " + textStatus );
    });

}(jQuery));