嗨,我在rails中有restful apis,在前端有react-redux ..
在前端:
[...]
'drivers' => array(
'Application\Entity' => 'application_entities'
)
[..]
即我从客户端发送了两个参数
axios.defaults.headers.access_token = "default values"
axios.defaults.headers.some_header_token = "some value"
access_token
我在rails服务器上获得的内容
在我的控制台我正在
some_header_token
但在
中获取值 request.header["access_token"] = nil
request.header["some_header_token"] = nil
下划线正在转换为超赞
答案 0 :(得分:2)
# Provides access to the request's HTTP headers from the environment.
#
env = { "CONTENT_TYPE" => "text/plain", "HTTP_USER_AGENT" => "curl/7.43.0" }
headers = ActionDispatch::Http::Headers.new(env)
headers["Content-Type"] # => "text/plain"
headers["User-Agent"] # => "curl/7/43/0"
另请注意,当标题被Rack映射到类似CGI的变量时 服务器,破折号和下划线都转换为下划线。这个 在这个阶段,模糊不能再解决了。两个下划线和 破折号必须被解释为它们最初是以破折号发送的。
GET / HTTP/1.1
# ...
User-Agent: curl/7.43.0
X_Custom_Header: token
#
headers["X_Custom_Header"] # => nil
headers["X-Custom-Header"] # => "token"
即使标题名称中有下划线 很少遇到,它们根据RFC822 1有效。