如何在同一时间创建两个jquery-ajax进程?
问题描述:
我试图在同一页面调用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;
}
});
}
答
你检查过的文档:http://docs.jquery.com/Ajax/jQuery.ajax 尝试了异步选项? 另一个解决方案可能是(虽然它很丑)复制ord_process.php脚本并查看问题是由于某些内部队列还是其他原因。