如何解决每当任何HTTP方法上存在301永久重定向响应时,dojo都会发出GET请求
| 我的Web应用程序的工作方式如下: / abc / xyz:响应301永久重定向位置:/ abc / xyz / / abc / xyz /:基于请求的HTTP方法的适当响应 现在,当我发出如下请求时:dojo.xhr(\'PUT\',{url : \"/abc/xyz\"})
以下操作顺序自动发生:
已发送PUT请求
收到301永久重定向
GET请求发送到新的URL / abc / xyz /
我不明白为什么会这样。我不希望dojo.xhr这么聪明。我希望它只停留在301永久重定向响应上,让我关注如何处理永久重定向。在这种情况下,我希望更新URL并发送新的PUT请求。所有其他HTTP方法(例如OPTIONS等)的情况也相同。我在上面使用PUT作为示例。
是否可以将dojo.xhr配置为具有这种行为?
解决方法
如果您确实不需要遵循301,则可以在服务器端创建一个网关,该网关返回一条通知,告知您收到了301,而不是遵循它。
为此,可以使用PHP和curl。参见http://php.net/manual/en/ref.curl.php
注释中有一个get_url函数
,这是除IE之外的所有浏览器中的已知问题(Firefox的管道中已修复)。
同时,如果您确实需要浏览器正确遵循PUT重定向,则需要使用状态码307。
另请参见http://trac.tools.ietf.org/wg/httpbis/trac/ticket/160和http://trac.tools.ietf.org/wg/httpbis/trac/ticket/312
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。