Javascript 在jquery中的for语句中放入ajax

Javascript 在jquery中的for语句中放入ajax,javascript,php,jquery,ajax,for-loop,Javascript,Php,Jquery,Ajax,For Loop,我想在php for循环语句中调用jquery ajax。我的代码如下: for(i=0;i<selectedStudents.length;i++){ console.log(selectedStudents[i]); var userId=selectedStudents[i][13]; console.log(userId); co

我想在php for循环语句中调用jquery ajax。我的代码如下:

 for(i=0;i<selectedStudents.length;i++){
                   console.log(selectedStudents[i]);
                    var userId=selectedStudents[i][13];
                  console.log(userId);
                   console.log(i);

                    $.ajax({
                        type: "POST",
                        url: "http://10.10.212.50:8080/.../member/add",
                        contentType: 'application/json',
                        data: '{"requester": { "userName": "' + AdminUsername + '", "password": "' + AdminPass + '" },"request":{"taskId": ' + taskId + ',"userId":' + userId + '}  }',
                        dataType: "json",
                        success: function (GetResult) {
                             console.log(GetResult);

                            if (GetResult.result) {
                                swal("تمام", "افزودن کاربر به گروه کاری، با موفقیت انجام شد!!.", "success")

                                console.log(i);
                                console.log(selectedStudents);

                                var memberString='<li style="background-color: #39CCCC;border-color: #0c0c0c; " class="list-group-item row">'+
                                        '<div class="row">'+
                                        '<h4 class="col-md-9" style=" text-align:center; vertical-align:middle;">'+selectedStudents[i][1]+'" " '+selectedStudents[i][2]+'</h4>'+

                                        '<div class="col-md-3">'+
                                        '<img class="img-responsive" src="'+selectedStudents[i][0]+'">'+
                                        '</div>'+
                                        '<input id="'+userId+'firstName" type="text" style="display:none" value="'+selectedStudents[i][1]+'">'+
               '</div>'+
                                        ' </li>';
                                $("#"+taskId+"hiddenMemberLI").after(memberString);

                            } else {
                                sweetAlert("خطا", "افزودن کاربر به گروه کاری، با مشکل رو به رو شده است!!", "error");
                            }
                        },
                        error: function (xhr, ajaxOptions, thrownError) {
                            alert(xhr.status);
                            alert(thrownError);
                        }
                    })//end ajax
                }//end for

for(i=0;i您需要将$.ajax与async:false选项一起使用

$.ajax({
   type: "POST",
   url: "http://10.10.212.50:8080/.../member/add",
   contentType: 'application/json',
   data: '{"requester": { "userName": "' + AdminUsername + '", "password": "' + AdminPass + '" },"request":{"taskId": ' + taskId + ',"userId":' + userId + '}  }',
   dataType: "json",
   async: false,
   success: function (GetResult) {  
       //your logic
   }
});

AJAX是一种异步操作,因为它不知道服务器何时响应请求。这就是它返回承诺的原因,需要在代码中进行处理


For loop同时触发n个AJAX请求并完成,而不等待请求完成。如果您想逐个运行请求,请在
success
回调中执行,或者更高效地执行
.done
承诺处理程序。

永远不要使用
async:false
。这是邪恶的。是的,但按照@narges-nee执行我有这个建议