0

我已经在 django 上设置了一个 REST API,并通过启用了 CORS 的 JavaScript AJAX 请求事物。在我尝试使用 PUT 请求之前,它工作正常。因为 django 无法处理 PUT,所以我使用 django-piston 的coerce_put_post方法。问题是,PUT 请求已成功处理,但 OPTIONS 请求失败并显示405 METHOD NOT ALLOWED.

这是失败请求的网络日志。

  • 请求网址http://localhost
  • 请求方法:选项
  • 状态代码:405 方法不允许

请求标头

  • 接受/
  • 接受编码:gzip、deflate、sdch
  • 接受语言:de,en-US;q=0.8,en;q=0.6
  • 访问控制请求标头:接受、来源、内容类型
  • 访问控制请求方法:PUT
  • 缓存控制:无缓存
  • 连接:保持活动
  • 主持人:傅
  • 产地http://localhost
  • Pragma : 无缓存
  • 推荐人http://localhost/bar
  • 用户代理:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36

响应标头

  • 访问控制允许凭据:真
  • 访问控制允许标头:内容类型、编译指示、缓存控制
  • 访问控制允许方法:POST、GET、OPTIONS、PUT、DELETE
  • 访问控制允许来源http://localhost
  • 允许:发布、获取、选项、放置、删除
  • 内容类型:文本/html;字符集=utf-8
  • 日期:格林威治标准时间 2013 年 8 月 9 日星期五 09:39:41
  • 服务器:WSGIServer/0.1 Python/2.7.4

如您所见,CORS 标头中实际上允许使用 OPTIONS。

那么为什么它仍然失败呢?

4

0 回答 0