我有一个使用独角兽和nginx的Rails 4.1应用程序.但是以某种方式/神秘地我的POST请求变成了GET请求.
这是请求标头:
Remote Address: <<IP>>
Request URL: <<URL>>
Request Method:POST
Status Code:301 Moved Permanently
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,ru;q=0.6,bg;q=0.4,mn;q=0.2,nb;q=0.2
Cache-Control:no-cache
Connection:keep-alive
Content-Length:14269
Content-Type:application/x-www-form-urlencoded
Cookie:<<COOKIES>>
Host:<<HOST>>
Origin:<<ORIGIN>>
Pragma:no-cache
Referer:<<REFERER>>
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36
Form Dataview sourceview URL encoded
utf8:✓
authenticity_token:<<TOKEN>>
<< FORM DATA >>
Response Headersview source
Connection:keep-alive
Content-Length:184
Content-Type:text/html
Date:Wed, 04 Jun 2014 02:44:35 GMT
Location:<< REDIRECT LOCATION >>
Server:nginx/1.6.0
出于安全原因,我隐藏了一些信息.在我的开发环境中,一切正常.任何想法?如果您需要更多信息,请告诉我.
更新:
我提出了一个新问题. POST request turns into GET request
解决方法:
这是因为状态代码:301已永久移动只需避免重写即可更新表单操作URL或ajax请求URL. (这是浏览器的默认行为,即使用GET重新请求301个查询,找到后会添加指向源信息的链接)
编辑:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
不是默认值,而是错误的.我认为,如果ajax请求,可能会“常见”