【问题标题】:jquery ajax post not executedjquery ajax帖子未执行
【发布时间】:2014-03-31 01:36:41
【问题描述】:

我对 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

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

【问题讨论】:

  • 尝试更改完全成功...
  • 开发者工具控制台有错误吗?

标签: javascript jquery ajax


【解决方案1】:

使用成功而不是完成

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

【讨论】:

  • 我认为他提到了 url 的变化。这意味着 AJAX 部分有效。他只是对没有显示正在发出的 POST 请求的开发人员工具感到困惑。这很明显。由于 URL 发生了变化,他现在在另一个没有提出任何请求的页面上。因此是空的网络选项卡。
【解决方案2】:

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

【讨论】:

  • 如果问题仍然存在,请尝试使用 Mozilla firebug 和 live Http Header 来进一步调试问题。
  • 嗯,你是对的...... POST 已发送并执行良好,但我没有看到它。用 alert() 替换完整部分后,我看到了帖子...谢谢分配!
  • 没问题!很乐意提供帮助。
【解决方案3】:

或者,您也可以使用 .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));

【讨论】:

    猜你喜欢
    • 2015-04-09
    • 2011-06-30
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 2010-11-19
    • 2011-06-01
    • 1970-01-01
    相关资源
    最近更新 更多