【问题标题】:jquery ajax request is OPTIONS even I set crossDomain in $.ajaxjquery ajax 请求是选项,即使我在 $.ajax 中设置了 crossDomain
【发布时间】:2013-12-20 02:29:03
【问题描述】:

这是我的代码的一部分

        $.ajax({
      type: 'GET',
      url: '//outside.com/api/v1/userinfo.json',
      crossDomain: true,
      dataType: 'json',

为什么我仍然收到请求选项?

"OPTIONS /api/v1/userinfo.json HTTP/1.1" 301 0

有什么想法吗?

【问题讨论】:

  • 选项请求是一个飞行前请求,用于检查服务器是否返回正确的标头以发出 CORS 请求。在您的控制台中,您是否看到很多红色文字说明了有关同源策略的内容? en.wikipedia.org/wiki/Cross-origin_resource_sharing
  • 另外,crossDomain 选项也不需要,因为这是一个跨域请求。

标签: javascript django jquery cross-domain


【解决方案1】:

http://en.wikipedia.org/wiki/HTTP_301

tl;dr: 301Cross Domain (CORS) requests 无关,它表示您请求的资源已被移动。

检查您的资源并找出它被移动到的位置,然后更新您的请求代码中的url 字段。

【讨论】:

  • 301不是问题,是django的自动重定向
  • 问题是请求类型是选项
  • 好的,您没有提供该信息 - 您可以将响应标头添加到您的问题吗?
猜你喜欢
  • 2011-02-16
  • 2012-04-22
  • 2013-04-24
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-08
相关资源
最近更新 更多