我有一个python脚本,可以执行大约8或9个特定步骤。这些步骤正在记录在文件中。对于用于显示状态更改或错误消息的Web GUI,我使用以下脚本来查询PeriodicalUpdater插件。 我需要程序同时运行,以便当文件中的值发生变化时,它会被轮询并显示出来。
请在下面找到我的jquery代码。 注意网址" / primary_call /"执行需要大约2分半钟。问题是异步:false不起作用。浏览器等待2.5分钟,然后进入下一个级别。 我在Firefox和Chrome中试过,它也给出了相同的结果。
当我调用另一个浏览器选项卡的URL时,它运行正常,但是当我尝试从同一页面调用时,我无法同时运行这两个脚本组件。 我该怎么做才能让浏览器启动" / primary_call /&#34 ;,它在后台运行Python脚本,同时前进到名为PeriodicUpdate的部分。
$(document).ready(function()
$.ajax({
type: 'GET', // Or any other HTTP Verb (Method)
url: '/primary_call/',
async: false,
success: function(r){
return false;
},
error: function(e){
}
});
$.PeriodicalUpdater({
url : '/static/12.txt',
method: 'post',
maxTimeout: 6000,
},
function(data){
var myHtml = data + ' <br />';
$('#results').append(myHtml);
});
})
答案 0 :(得分:3)
设置async:false
表示您正在使进程同步,因此浏览器会挂起它直到完成 - 它无法继续使用您的其他方法。删除该选项将使调用异步(默认情况下,它应该是),此时浏览器将在单独的线程中初始化每个ajax调用。
简而言之,请删除async:false
。