カウボーイと angular.js を使用した erlang Web アプリケーションがあります。
<input>アプリケーションを起動し、「/」でブラウザを開き、およびで main.html を取得しました<button>。ボタンを押すと、 httpPOSTリクエストをサーバーに/join/usernameangular$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すると、通常どおりリダイレクトされます。なんで?
ありがとうございました。