Как сделать два процесса jquery-ajax одновременно? - PullRequest
0 голосов
/ 18 мая 2009

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

Прежде чем я вызову функцию 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;
            }       
    }); 
}

1 Ответ

0 голосов
/ 18 мая 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...