1

$.postそのため、jqueryを使用して PHP スクリプトにポストバックする場合、そのスクリプト内で @header リダイレクトを実行できないことを最近知りました(exit();直後に使用しても)。

フォーム送信が正常に実行された後に頻繁に使用する重要なリダイレクト/フラッシュ メッセージ クラスがあるため、これは非常に憂鬱なニュースです。

jQuery の投稿が「貪欲」であり、php スクリプトがそれを中断させないという事実は、大きな制限です。

ajaxでフォームデータをPHPに投稿し、PHP内からリダイレクトできるソリューションを知っている人はいますか? javascript でリダイレクト/フラッシュ メッセージ クラスを複製することは、実際には選択肢ではありません。

この問題を克服する方法を知っている人はいますか?

4

3 に答える 3

0

@bcmcfc の解決策が最適ですが、リダイレクトの前にさらに対話や計算が必要な場合は、xajaxを調べることができます。彼らのドキュメントは分厚いですが、あなたが説明したようなギャップを埋めてくれる、UX デザイナーの夢のようなアプリです。

于 2012-08-05T08:17:16.967 に答える
0

スクリプトがリダイレクトされ、JavaScript (jQuery) がリダイレクトから結果を取得するか、リターンに 302: リダイレクト ヘッダーが含まれていると思います。

スクリプトは独自のリクエストを使用するため、スクリプトに指示したリダイレクトはブラウザを更新せず、その機能は存在しません。やりたいことに応答するには、クライアント側のコードでサーバーからの要求ヘッダーに応答する必要があります。

于 2012-08-05T08:21:52.667 に答える
0

success 関数を使用して、ブラウザーをリダイレクトできます。

$.post(url, data, function() {
     window.location = newUrl;
});

http://api.jquery.com/jQuery.post/

于 2012-08-05T08:16:25.243 に答える