(私の英語のない私の母国語のため申し訳ありません)アヤックス/ PHPは、フォームのリダイレクトを提出したがsend.php
簡単な質問を実行、 iは(ファイルを含む)形式のデータを扱うためのPHPファイルを実行することができますが、私のsend.phpファイルからの応答を待たずにユーザーをリダイレクトしますか?
多くのファイルが私のPHPプロセスにアップロードされています。これは完了するまでに多くの時間がかかることを意味します。ユーザーがそれを待つことを望んでいません...
私はajaxを使って、phpを実行するsend.phpにリダイレクトしないようにしますが、 "success"関数が呼び出されるまで待っていますファイルのアップロードと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をexecしてください。 –
バックグラウンドプロセスを実行することができます。例:[link](https://nsaunders.wordpress.com/2007/01/12/running-a-background-process-in-php/) ファイルをアップロードする場合ファイルがサーバーにアップロードされるまで待つ必要があります。なぜなら、アップロードが完了する前にリダイレクトするとアップロードが中断されるからです。 – ghovat
もう一度@ghovat –