AJAX请求jquery中的AJAX请求 $.ajax({ 键入:“POST”, url:searchpage, 数据类型:“json”, 数据:{ id:id }, 成功:功能(数据){ 变量id1=[]; 对于(变量i=0;i

AJAX请求jquery中的AJAX请求 $.ajax({ 键入:“POST”, url:searchpage, 数据类型:“json”, 数据:{ id:id }, 成功:功能(数据){ 变量id1=[]; 对于(变量i=0;i,jquery,ajax,Jquery,Ajax,在我的项目中,我需要针对特定事件发送一个AJAX请求,当该请求成功时,我希望发送另一个AJAX请求。现在它工作正常,因为我的数据库很小 我的问题是,如果我有一个大的数据库,这会有负面影响吗。如果这不是一个好的做法,我应该如何处理这种情况。 我需要来自第一个AJAX响应的id1,以便发送第二个AJAX。$.AJAX({ $.ajax({ type: 'POST', url: searchpage, dataType: "json", data: {

在我的项目中,我需要针对特定事件发送一个AJAX请求,当该请求成功时,我希望发送另一个AJAX请求。现在它工作正常,因为我的数据库很小

我的问题是,如果我有一个大的数据库,这会有负面影响吗。如果这不是一个好的做法,我应该如何处理这种情况。 我需要来自第一个AJAX响应的id1,以便发送第二个AJAX。

$.AJAX({
$.ajax({
    type: 'POST',
    url: searchpage,
    dataType: "json",
    data: {
        id: id
    },
    success: function(data) {
        var id1 = [];
        for(var i = 0; i < data.length; i++){
            id1 .push({
                 id1 : data[i].id

            });
            $("#printtdownername").text(data[i].fullname);
            $("#printtdownerbday").text(data[i].bday);
            $("#printtdownerage").text(data[i].age);
        }
        $.ajax({
            type: 'POST',
            url: 'searchpage1',
            dataType: "json",
            data: {
                id1: JSON.stringify(id1)
            },
            success: function(data) {

            },
            error: function(data) {}
        });

    },
    error: function(data) {

    }
});
键入:“POST”, url:searchpage, 数据类型:“json”, 数据:{ id:id }, 成功:功能(数据){ 变量id1=[]; 对于(变量i=0;i
试试这个。 我想这可能对你有帮助

以下是一个工作示例:


为了避免不必要的请求,请在循环后调用该函数

唯一的缺点是,在第一个ajax完成之前,不会启动第二个ajax。所以,如果第一个需要很长时间才能完成,用户可能会浏览/提交表单等,而不必等待第二个ajax发送。我想你们应该在服务器上做这个逻辑并保存一个请求,而不是2个请求efficient@VolkanUlukut这就是我现在所想的,因为数据量大,反应时间慢。不管怎样,要让它在反应时间方面更好一点吗?@Saqueib请启发我。如果您第一次请求只获取
id1
,第二次请求发送相同的
id1
,那么您可以在后端执行这部分逻辑,这将不起作用。id1未在第二个ajax的上下文中定义。@VolkanUlukut:id1可用于第二个ajax请求,因为它在范围内。var
id1=[]ajax请求和id都在相同的成功范围内。id1应该是一个数组,在用值填充后发送。您所做的是为每个迭代发送id1,从而产生大量不必要的请求。所以现在您是说,
id1
不在第二个ajax请求的范围内,对吗?是的,它在范围内,您弄乱了格式,所以我认为您从成功回调中删除了第二个ajax。但这个答案仍然是错误的。
$.ajax({
    type: 'POST',
    url: searchpage,
    dataType: "json",
    data: {
        id: id
    },
    success: function(data) {
        var id1 = [];
        for(var i = 0; i < data.length; i++){
            id1 .push({
                 id1 : data[i].id

            });
            $.ajax({
              type: 'POST',
              url: 'searchpage1',
              dataType: "json",
              data: {
                id1: JSON.stringify(id1)
              },
              success: function(data) {

              },
              error: function(data) {}
         });

       }


    },
    error: function(data) {

    }
});