sam*_*tte 10 ruby redirect ruby-on-rails
不确定这是否可行或有意义,但我在设置HTTP标头字段后尝试进行重定向.就像是:
request.headers['Accept'] = 'application/json'
redirect_to url
Run Code Online (Sandbox Code Playgroud)
显然这不起作用,request当前请求也不起作用,而不是重定向.有没有办法调用redirect_to自定义HTTP标头?
无论您使用什么语言或框架,都无法重定向到设置了自定义标头的页面。换句话说,无法触发 HTTP 重定向并导致客户端(浏览器)添加自定义标头。
正如您自己提到的,您正在为指示浏览器重定向的响应设置自定义标头,而不是为重定向本身设置自定义标头。
站点指示浏览器发出带有自定义标头的 HTTP 请求的唯一方法是使用 Javascript 和对象XMLHttpRequest。
你不能直接做到这一点,但有一种间接的方法可以做到这一点
重定向到your_url,flash:{accept_header:'application / json'}
然后检查目标url中的flash[:accept_header]。
这不是特别优雅,但很有效。它类似于使用特殊的 url 参数 - your_url(accept_header: json) - 但它不会被用户/书签/等看到。