0
我有兩個AJAX調用,第一次啓動長時間運行的腳本,第二次調用數據庫表中的百分比字段。出於某種原因,在進行第二次AJAX調用時,數據庫調用將始終返回false,直到完成第一次調用後纔會違反查詢百分比更新表的目的。第一次工作時,對數據庫進行第二次AJAX調用
首先
<script type="text/javascript">
$.ajax({
async: true,
url: "<?php echo BASE_URL.DS.'controller'.DS.'long_running_script';?>",
data: {
file: "<?php echo $file;?>",
id: "<?php echo $id;?>"
},
type: 'post',
beforeSend:function(){
$("#loading").show();
$('#progressbar').progressbar({
value: false
});
},
success:function(data) {
$('#response').empty().html(data);
},
complete:function(){
$("#loading").hide();
}
});
});
</script>
二
<script type="text/javascript">
$(function(){
var getProgress = $.ajax({
async: true,
url: "<?php echo BASE_URL.DS.'controller'.DS.'pending';?>",
data: {
id: "<?php echo $id;?>",
},
dataType: "json",
success: function (data) {
},
complete: getProgress,
timeout: 30000
});
setInterval(function(){
getProgress.done(function(data){
console.log(data.pending);
});
}, 3000);
</script>
是從得到由長時間運行的腳本更新數據庫返回false請求百分比場的第二個電話。我也注意到在我的本地機器上,虛擬主機的每個HTTP請求都會掛起,直到第一個AJAX調用完成。第一次調用是否可能阻止連接到服務器?
我注意到,第一次調用阻止來自我的機器上同一瀏覽器的請求。我已經成功打開第二個瀏覽器,它可以發送未被第一個瀏覽器攔截的請求。 –
第一次通話成功後再撥打第二個電話 – Anubhav