2009-05-17 3 views
0

Я пытаюсь вызвать 2 функции на одной странице, чтобы отправить jquery-ajax одновременно для обработки разностной задачи (функция 1 заключается в том, чтобы вносить новые записи в базу данных, функция 2 - читать базу данных каждые 5 секунд, а затем отображать записи из базы данных в таблице в html).Как сделать два процесса jquery-ajax одновременно?

Прежде чем я позвоню в функцию 1, страница работает нормально с вызовом функции 2, чтобы читать записи и отображать записи на странице каждые 5 секунд, но как только я звоню в функцию 1, чтобы вводить новые записи, функция 2 кажется ожидание в очереди и только запуск процесса после выполнения функции 1. Однако я уверен, что эта проблема связана не с тем, что база данных блокируется, а функция 1 запускает новые записи.

Кто-нибудь знает, как я могу сделать обработку jquery-ajax одновременно? Пожалуйста, смотрите ниже для более подробной информации о моем коде:

HTML:

<table style='width:100%' border="0"> 
    <tr> 
     <td width="120"><input onclick="submitAction()" type="button" value="Process"></td> 
    </tr> 
</table> 

<script> 
    var myInterval = setInterval('getUpdatedRecord()', 5000); 
</script> 

Javascript:

function submitAction() 
{ 
    var paramList = "Action=make_process"; 

    ajaxRequest = $.ajax({ 
     url: "ord_process.php", 
     type: 'POST', 
     data: paramList, 
     error: function(){ 
      msgObj.innerHTML = '<div style="width:313px; padding-top:40px;"><p class="cAlign">Connecton error.<br>Please try again.</p></div>'; 
       }, 
     success: function(data){ 
     var endDateTime = getCurrentDateTime(); 
     msgObj.innerHTML = ''; 
     alert(" "+data+"\n\n Start Date&Time : "+startDateTime+"\n End Date&Time : "+endDateTime) 
      } 
    });  
} 



function getUpdatedJobRecord() 
{ 
    var paramList = "Action=get_job_record&call=ajax"; 

    ajaxRequest = $.ajax({ 
      url: "ord_process.php", 
      type: 'POST', 
      data: paramList, 
      error: function(){ 
       msgObjB.innerHTML = update_date; 
       msgObjA.innerHTML = '<td><div style="width:313px; padding-top:40px;"><p class="cAlign">Connecton error.<br>Please try again.</p></div></td>'; 
      }, 
      success: function(data){ 
       msgObjB.innerHTML = update_date; 
       msgObjA.innerHTML = data; 
      }  
    }); 
} 

ответ

0

Вы проверили документацию: http://docs.jquery.com/Ajax/jQuery.ajax попробовал асинхронной-вариант? Другим решением может быть (хотя и уродливо) скопировать скрипт ord_process.php и посмотреть, есть ли проблема из-за некоторой внутренней очереди или чего-то еще.

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