jqueryを使用してアプリの応答ヘッダーを読み取れるようにしたいのですが、具体的には、ヘッダー「X-Messages」をrailのフラッシュメッセージハッシュの文字列表現に設定します。
私の質問はこれに似ています: https ://stackoverflow.com/a/2729454/103739
ただし、大きな違いが1つあります。これは、JSON応答ではないということです。HTMLページで返されたヘッダーをjQueryで読み取り、JSONオブジェクトの各アイテムについて何かをログに記録したいだけです。
これが私のコントローラーで行っていることです:
class ApplicationController < ActionController::Base
after_filter :flash_to_headers
# ...
def flash_to_headers
response.headers['X-Messages'] = flash.to_hash.to_json.to_s
end
end
次に、私が困惑しているところです。ページが読み込まれたときにこのJSONオブジェクトを取得して、通常alert
の、またはconsole.log
:を表示するだけです。
$(document).ready(function() {
var messages = document.getResponseHeader('X-Messages');
console.log(messages);
});
さて、今は明らかにgetResponseHeader()
、の関数ではありませんdocument
が、どうすればこれを達成できますか?