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:我更新了我的答案上面,希望它可以幫助 –