我有什麼可能是一個棘手的問題。
我正在使用event.preventDefault();
來驗證提交時的幾件事情,以防止表單在提交時出錯。這裏的問題是它同時發送多個ajax請求,這似乎阻止了PHP(它正在處理AJAX調用)修改$ _SESSION變量。
我已經確定這通過更改jquery ajax調用來同步處理,允許$ _SESSION變量進行更改。
我的問題是這樣的:有沒有辦法讓ajax調用同時發生,同時允許$ _SESSION變量在這些調用過程中被修改?我意識到,AJAX調用的async:false
已棄用,顯然不是最佳解決方案。
由於每個呼叫都做了什麼,所以不可能將這兩個呼叫的功能組合起來,儘管每個呼叫都不需要很長時間來處理。
示例jQuery代碼來解釋我是如何使這些AJAX調用(節錄部分和簡化,顯然):
$("#form-id").on('submit', function(event) {
$.ajax({
type: 'POST',
url: '/url/to/processing.php',
async:false, //fails without setting to false
...
});
});
...
$("#form-id").on('submit', function(event) {
$.ajax({
type: 'POST',
url: '/url/to/processing2ThatSetsSession.php',
async:false, //fails without setting to false
...
});
});
看起來像一個偉大的想法!我一定會考慮這一點。謝謝! – Snappawapa
@Snappawapa很高興你喜歡它:-) –