每当任何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     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...