我希望能够使用 jquery 读取我的应用程序的响应标头,具体来说,我将标头“X-Messages”设置为 rail 的 flash 消息哈希的字符串表示形式。
我的问题与此类似: https ://stackoverflow.com/a/2729454/103739
然而,我有一个主要区别,这不是 JSON 响应。我只想用 jQuery 读取我的 HTML 页面中返回的标题,并为 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()
, 不是一个函数 on document
,但是我怎样才能做到这一点呢?