0
(對不起,我的英語它不是我的母語)AJAX/PHP提交表單重定向,但執行send.php
簡單的問題, 我可以執行PHP文件來處理表格數據(包括文件),但重定向用戶而無需等待我的send.php文件的響應?
在我的php程序中有很多文件上傳,這意味着很多等待時間才能完成。我不希望用戶等待那麼久...
此刻我使用ajax來防止用戶重定向到send.php,這使得php執行,但用戶仍然在等待,直到「成功」函數調用後文件上傳和PHP完成,這也意味着用戶永遠等待...成功之前重定向功能,防止PHP完成。
我想要的是第二個用戶點擊提交,在後臺啓動send.php並將用戶重定向到另一個頁面,甚至沒有等待來自send.php文件的響應。
在我的php我檢查錯誤和處理,所以用戶甚至不需要知道任何錯誤。
(順便說一句一切工作只是不愉快的procces)
我的ajax:
$(document).on('submit', '#myForm', function(e) {
e.preventDefault();
$.ajax({
url: $('#myForm').prop('action'),
type: $(this).attr('method'),
data: new FormData($('#myForm')[0]),
contentType: false,
processData: false,
success: function(data) {
alert('Form submitted');
window.location = "http://www.somesite.com/";
},
error: function() {
// The request failed - So something here
alert('Form NOT submitted'); //display an alert whether the form is
console.log('form not submited ERROR');
}
});
});
thnx您的評論。所以沒有辦法重定向,執行php而不等待響應? –
您可以運行後臺進程,例如:[link](https://nsaunders.wordpress.com/2007/01/12/running-a-background-process-in-php/) 但是,如果您正在上傳文件你必須等到文件上傳到服務器,因爲如果你在上傳完成之前重定向,上傳將會被再次中斷 – ghovat
thanx @ghovat –