2017-07-26 3 views
0

ホームURLにリダイレクトする以外は、コードが正常に動作しているようです。どのようにしてajaxをホームURLにリダイレクトさせることができますか?AJAXリクエストの後にhtml応答にリダイレクト

JS機能

func1: function(dest_board, copy_option, member_option){ 
     $.ajax({ 
     url: "get_values", 
     type: "POST", 
     data: {new_board: dest_board, copy_option: copy_option, member_option: member_option} 
     }).success($.proxy(function(data, xhr) { 
     },this)); 
    } 
コントローラ機能で

respond_to do |format| 
     format.html { 
     redirect_to home_url 
     } 
end 

答えて

1

あなたはAJAX応答でredcirectを実行するときは、基本的に応答自体をリダイレクトしている、いない要求がなされているどのページから。

私はこれを、2つの別々の道路で2つの別々の車が互いに平行に走っていると考えています。あなたが最初の車からアヤックスのリクエストをするとき、あなたは本質的に、他の道の他の車で、何かをするように伝えています。その車が左に曲がると言うと左に曲がりますが、最初の車は方向を変えません。

あなたのアプリケーションがまだまっすぐ進んでいる最初の車でリダイレクトを実際に実行するには、「私は左に曲がることができますが、それはできません」というような2番目の車から何らかの応答を得る必要があります代わりに左に回らないのはなぜですか? "

コードでは、これは、あなたのAJAX応答でリダイレクトを実行する代わりに、あなたのリダイレクトコントローラであなたのリダイレクトを実行するのではなく、表現することができます。このような

何かがより適切かもしれない...

.success($.proxy(function(data, xhr) { 
    window.location.replace("/home"); 
},this)); 

もAJAX応答の後にリダイレクト上の別のスタックオーバーフローの記事を参照してください。

How to manage a redirect request after a jQuery Ajax call

+0

私はリンクに記載されたコードを使用しました。それは魅力のように働いた。ありがとうございました。 –

関連する問題