0
我需要使用我的应用程序来实现cronjob功能,为此我尝试使用ajax文章,以便它不会影响页面加载时间。我目前面临的问题是,如果我需要打开另一个url,只有在ajax请求成功后才会发生。是否有可能重定向页面,即使有不完整的ajax请求
请有人建议一个解决方案。
我需要使用我的应用程序来实现cronjob功能,为此我尝试使用ajax文章,以便它不会影响页面加载时间。我目前面临的问题是,如果我需要打开另一个url,只有在ajax请求成功后才会发生。是否有可能重定向页面,即使有不完整的ajax请求
请有人建议一个解决方案。
尝试在打开另一个URL之前中止您的ajax请求。例如使用jQuery:
var request= $.ajax({
url: "test.php"
}).done(function() {
/* do something */
});
//kill the request
request.abort();
你可以杀死请求每次点击一个链接,e.g:
$('a').on('click', function() {
request.abort();
});
在服务器端的并发请求不排队。但是,如果有文件锁定,例如当一个php脚本打开一个文件进行写入时,对该文件的并发请求将被排队,因此php脚本的执行将会停止。 Simultaneous Requests to PHP Script
看来,如果你在PHP中使用基于文件的会话每个session_start();
会导致文件锁定:
此之前已经讨论过。在完成会话的工作之后,做session_write_close();
会释放该锁。
谢谢,在这个执行是否会停止?我需要的是我只需要触发一个动作,它必须发生在后台 – Nobis
我也想知道网络服务器是否序列化请求。通过禁用这将是一个sloution – Nobis
@Nobis:我更新了我的答案上面,希望它可以帮助 –