2013-02-17 8 views
9

私はAJAX経由でPHPファイルを呼び出すjquery関数を持っています。そのPHPファイルの中に私はPHP AJAX 12017ヘッダー(場所:)を呼び出すときのエラー

header('Location: http://www.google.com'); 

を持っているしかし、これは動作しません、ページがリダイレクトされていないとjQueryのAJAX呼び出しがエラーを返し、何も12017、私はこのエラー番号について多くの情報を見つけることはできません。

出力バッファリングが有効になっていて、ヘッダファイルをPHPファイルの先頭に配置しようとしましたが、まだ運がありません。何か案は?ありがとう。

+0

なぜあなたはAJAXによるリダイレクトを戻ってきていますか?あなたは何をしようとしているのですか? – Alexander

+0

ブラウザでページを表示する場合。 (AJAXなし)リダイレクトは機能していますか? – hek2mgl

+0

@Alexander:ajax関数は、フォームを処理するPHP関数にフォームをポストします。フォームが正常に処理された場合はページがリダイレクトされ、失敗した場合はajax successコールバックを介してajaxにエラーが返され、そこに誤りがある。 –

答えて

7

私はあなたがajaxリクエストを使用している場合は、(要求が行われた)javascript内のリダイレクトを処理する必要があると思います。

あなたのphpスクリプトが、あなたがajaxリクエストをするときにレスポンスのLocationヘッダを設定すると、ブラウザに表示されているページではなく、ajaxリクエストをリダイレクトしようとします。

リクエストを行ったときにエラーを処理することができます(要求を行ったコードを見た場合は、より具体的です)。

あなたはそれがステータスコードのいくつかの種類を返し、その後、JS/jQueryを使って、この状況を処理し、そこにリダイレクトを作るようにスクリプトを変更してみてください:

document.location=' *new url to redirect the browser to* ' 
+0

JSONを使用して目的のURLを返し、jQueryで処理することで、動作しています。ありがとう。 –

関連する問題