新しいコントローラのインデックス関数にデータを投稿しながら、JQuery を使用して新しいページをブラウザにロードするにはどうすればよいですか?
window.location=url?foo=bar を考えていたのですが、URL に ?foo=bar が表示されないようにデータを投稿する方法はありますか?
いくつかのコメントは Ajax の使用を示唆していますが、実行中の現在のページを離れたり更新したりせずに処理することが ajax の本質ではないでしょうか?
新しいコントローラのインデックス関数にデータを投稿しながら、JQuery を使用して新しいページをブラウザにロードするにはどうすればよいですか?
window.location=url?foo=bar を考えていたのですが、URL に ?foo=bar が表示されないようにデータを投稿する方法はありますか?
いくつかのコメントは Ajax の使用を示唆していますが、実行中の現在のページを離れたり更新したりせずに処理することが ajax の本質ではないでしょうか?
使用する
window.location.href
POSTリクエストを送信することはできません。
データフィールドを含むフォームタグを設定し、フォームのアクション属性をURLに設定し、メソッド属性をPOSTに設定してから、フォームタグでsubmitメソッドを呼び出す必要があります。
またはあなたは次の方法でトリックを行うことができます:
次のようなフォームをHTMLに追加します。
<form style="display: hidden" action="/the/url" method="POST" id="form">
<input type="hidden" id="var1" name="var1" value=""/>
<input type="hidden" id="var2" name="var2" value=""/>
</form>
JQueryを使用してこれらの値を入力します(もちろん、javascriptを使用して同様のことを行うこともできます)
$("#var1").val(value1);
$("#var2").val(value2);
そして最後にフォームを送信します
$("#form").submit();
サーバー側では、var1とvar2をチェックすることで、送信したデータを取得できるはずです。詳細については、こちらを参照してください。
お役に立てば幸いです。