2016-08-03 4 views
-1

phpを使ってMySQLデータベースに正しく投稿された後に、私は別のページにユーザーを送りたいと思います。それをする最善の方法は何ですか?dbにデータを送信した後に新しいページにリダイレクトする最良の方法は? angle/php/mysql

PHPのヘッダ(所在地:myurl).... DATA-

エコー捕捉しない - JavaScriptのwindow.location.replace(myurlを)...データを挿入するが、リダイレクトされません。

+0

あなたが角度の$ HTTPリクエストから、あなたのコールバックでのリダイレクト設定を持っている必要があります。 – Rob

+0

そのスクリプトを完全に書き直す必要があります。小さなビットを修正しようとすると永遠にかかります – RiggsFolly

+0

"* header(location:myurl)....データをキャプチャしません*"どういう意味ですか? PHPが 'Location'ヘッダを送信する頃には、PHPはすでにフォーム入力を受け付けています。あなたはどんなキャプチャをしていますか? – BeetleJuice

答えて

2

AngularJSを介してフォームを送信すると仮定すると、AJAXリクエストで動作するPHPリダイレクトを取得するのではなく、Angular側からこのリダイレクトを処理する方がよいでしょう。

POSTリクエストが正常に完了した後は、コールバックの角度の$locationサービスを使用することができます。

app.controller('TestCtrl', function($http, $location){ 
    var req = { 
    method: 'POST', 
    url: 'http://example.com', 
    data: { test: 'test' } 
    }; 

    $http(req).then(function(){ 
    // this is executed after the request is completed successfully 

    $location.path('/success-page'); 
    }); 
}); 
関連する問題