カウボーイと angular.js を使用した erlang Web アプリケーションがあります。
<input>
アプリケーションを起動し、「/」でブラウザを開き、およびで main.html を取得しました<button>
。ボタンを押すと、 httpPOST
リクエストをサーバーに/join/username
angular$http
で送信し、サーバーでこのPOST
リクエストを取得し、リダイレクトをブラウザーに送信します。
{ok, Req4} = cowboy_req:reply(303, [{"Location", <<"/chat.html">>}], <<"">>, Req3)
{:ok, req4, State}
応答ヘッダーをリダイレクトします。
HTTP/1.1 303 See Other
connection: keep-alive
server: Cowboy
date: Thu, 19 Sep 2013 14:36:01 GMT
content-length: 0
Location: /chat.html
Cache-Control: no-store
リダイレクトを送信した後、「/chat.html」パスでブラウザから「GET」リクエストを受け取りました。問題ありません。chat.html を読み取ってブラウザに送り返しますが、ブラウザはそれをレンダリングせず、URL はブラウザで変更されません。ブラウザ コンソールに chat.html 200 が表示されます。
ブラウザが新しいページをレンダリングしないのはなぜchat.html
ですか?
更新 1。
手でブラウザに入力/join/username
すると、通常どおりリダイレクトされます。なんで?
ありがとうございました。