jQuery ajax、.each和ajax

jQuery ajax、.each和ajax,jquery,Jquery,不,这不是关于如何使用AJAX的另一个问题 为什么这对我不起作用 代码应该做什么: 当点击一个按钮时,它应该向PHP文件发送一个标题和一个用户id,PHP文件应该将其插入数据库中 然后它应该在div中的所有元素上创建一个。每个,并将它们发送到一个PHP文件,该文件应该将它们插入数据库 最后,它应该重定向 我得到第一个带有“first”的警报,但没有得到带有“second”的警报,数据库中没有插入任何内容 我以前的代码在插入方面工作得很好,它也做得很好,只是没有那么高级,没有重定向功能 我的代码:

不,这不是关于如何使用AJAX的另一个问题

为什么这对我不起作用

代码应该做什么:

  • 当点击一个按钮时,它应该向PHP文件发送一个标题和一个用户id,PHP文件应该将其插入数据库中

  • 然后它应该在div中的所有元素上创建一个
    。每个
    ,并将它们发送到一个PHP文件,该文件应该将它们插入数据库

  • 最后,它应该重定向

  • 我得到第一个带有“first”的警报,但没有得到带有“second”的警报,数据库中没有插入任何内容

    我以前的代码在插入方面工作得很好,它也做得很好,只是没有那么高级,没有重定向功能

    我的代码:

    $('#tabCreateButton').click(function () {
        alert("first"); //checking for click
    
        $.ajax({
            type: "POST", url: "/page/newtab.php", data: "action=newtitle&tabname=" + tabname + "&bid=" + brugerid,
            complete: function (data) {
                alert("second"); //checking for response
                var tabid = $(data.responseText);
    
                var XHRs = [];
    
                $('#tabCurrentFriends > .dragFriend').each(function () {
                    var friendid = $(this).data('rowid');
                    XHRs.push($.ajax({
                        type: "POST", url: "page/newtab.php", data: "action=newtab&tabid=" + tabid + "&bid=" + brugerid + "&fid=" + friendid,
                        complete: function (data) {
                        }
                    }));
                });
    
                $.when(XHRs).then(function () {
                    alert("third"); //should redirect here.
                });
            }
        });
    });
    

    尝试将
    complete:
    替换为
    success:
    error:
    ,每个都有一个唯一的回调函数,可用于检查XHR错误(如果有)。

    尝试将
    complete:
    替换为
    success:
    error:
    ,每个都有一个唯一的回调函数,您可以使用它来检查XHR错误(如果有)。

    您可能有一个XHR错误或一个您没有看到的Javascript错误


    您可以使用Chrome的内置调试器(F12-->网络-->XHR)或Firebug检查这些错误。

    您可能有XHR错误或未看到的Javascript错误


    您可以使用Chrome的内置调试器(F12-->网络-->XHR)或Firebug检查这些错误。

    不应$(data.responseText);只是数据。responseText@TerryR
    $。当带有延迟对象数组的
    工作时。@TerryR哇,非常感谢!这是一个非常有用的工具!:)它给了我一个错误,没有定义tabname,我会查看它,如果它仍然不工作,我会返回:)非常感谢!成功!谢谢@TerryR:)当然,很可能
    brugerid
    也没有定义,因为它看起来像是同一个变量范围。不应该$(data.responseText);只是数据。responseText@TerryR
    $。当带有延迟对象数组的
    工作时。@TerryR哇,非常感谢!这是一个非常有用的工具!:)它给了我一个错误,没有定义tabname,我会查看它,如果它仍然不工作,我会返回:)非常感谢!成功!谢谢@TerryR:)当然,由于它看起来像同一个变量范围,所以也没有定义
    brugerid
    。我一直使用complete:without problems:)但不幸的是这对以太没有帮助我一直使用complete:without problems:)但不幸的是这对以太没有帮助