2013-12-15 6 views
0

У меня есть эти строки коды, которые посылают запрос несколько Аякса ФОСотправить запрос множественного Ajax для WebService

$(".cWarpO").each(function() { 

        if ($(this).find(".newId").length > 0) { 
         counter++; 

         var Mapping = new Array(); 
         Mapping[0] = counter; 
         Mapping[1] = $(this).find(".idN").html(); //new id 
         Mapping[2] = $(this).find(".idO").html(); 
         Mapping[3] = newCourseId; 
         Mapping[4] = courseOldId; 
         Mapping[5] = isGenric; 
         Mapping[6] = oldGenricCourse; 

         $.ajax({ 
          url: "/WebServices/general.svc/mappingCourses", 
          type: "POST", 
          data: JSON.stringify({ Mapping: Mapping }), 
          dataType: "json", 
          contentType: "application/json; charset=utf-8", 
          success: function (data) { 



          } 
         }); 


        } 

       }); 

операция вебсервиса является обновление БД. Поскольку jquery ajax работает несинхронизированно, он отправляет запрос на множественный сервер, который заканчивается ошибкой: «Операция была предпринята для чего-то, что не является сокетом»

Я вяжу его, потому что база данных пытается открыть новое соединение каждый раз ,

Любая идея, как цикл по массиву синхронизирован?

Благодаря

Baaroz

+1

вы должны переосмыслить о вашей логике, чтобы просто отправить все ДАННЫЕ, используя только один запрос Ajax –

+0

возможно добавление «асинхр: ложные» в JQuery AJAX? – baaroz

+1

это было бы исправить, но самое худшее –

ответ

0

Вместо того, чтобы делать это синхронно, который может заблокировать браузер клиентов (см this post), почему не используют посылать запросы рекурсивно - то есть всякий раз, когда запрос заканчивается отправить следующий запрос:

var mapCourse = function($ele, index) { 
    if(index < $ele.length) { 
      //stuff 
      $.ajax({ 
       url: "/WebServices/general.svc/mappingCourses", 
       type: "POST", 
       data: JSON.stringify({ Mapping: Mapping }), 
       dataType: "json", 
       contentType: "application/json; charset=utf-8",//you don't need to set this 
       success: function (data) { 
        //stuff 

        mapCourse($ele, index + 1); 
       } 
      }); 
     } 
    } 
} 

mapCourse($(".cWarpO"), 0); 
+0

Мне это очень нравится – baaroz

Смежные вопросы