【问题标题】:CORS error with Jquery Ajax call when header is set设置标头时 Jquery Ajax 调用的 CORS 错误
【发布时间】:2014-05-13 05:41:16
【问题描述】:

以下代码可以正常工作:

$.ajax({
  type: 'POST',
  url: baseUrl+"/users",                                                 
  data: data,
});

但是,如果我添加授权标头:

$.ajax({
  type: 'POST',
  url: baseUrl+"/users",
  data: data,                                            
  headers: {
    Authorization: clientAuth,                                           
  },
});

然后我得到以下错误:

XMLHttpRequest cannot load http://0.0.0.0:8080/users. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://0.0.0.0:9000' is therefore not allowed access.(这是在 chrome 中,但我在 firefox 中遇到了类似的错误)。

奇怪的是我的服务器配置为处理 CORS,Access-Control-Allow-Origin 已设置!查看 OPTIONS 请求/响应:

如果有帮助,这里是两个请求的 CURL:

选项:

curl 'http://0.0.0.0:8080/users' -X OPTIONS -H 'Access-Control-Request-Method: POST' -H 'Origin: http://0.0.0.0:9000' -H 'Accept-Encoding: gzip,deflate,sdch' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/34.0.1847.116 Chrome/34.0.1847.116 Safari/537.36' -H 'Accept: */*' -H 'Referer: http://0.0.0.0:9000/' -H 'Connection: keep-alive' -H 'Access-Control-Request-Headers: accept, authorization, content-type' --compressed

发帖:

curl 'http://0.0.0.0:8080/users' -H 'Accept: */*' -H 'Referer: http://0.0.0.0:9000/' -H 'Origin: http://0.0.0.0:9000' -H 'Authorization: YXBwRnJldGlzdGE6cGFzc3dvcmQ=' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/34.0.1847.116 Chrome/34.0.1847.116 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'grant_type=bearer&username=vitor%40freta.la&password=123456' --compressed

为什么会出现此错误?我什至无法判断问题是客户端还是服务器端,因为我正在发送 CORS 请求所需的所有标头! 任何帮助将不胜感激!谢谢!

【问题讨论】:

    标签: javascript jquery ajax cors


    【解决方案1】:

    尝试在你的clientAtuh之前添加Basic

    'Authorization: YXBwRnJldGlzdGE6cGFzc3dvcmQ='

    变成:

    'Authorization: Basic YXBwRnJldGlzdGE6cGFzc3dvcmQ='

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-02
      • 2020-09-01
      • 2015-08-22
      • 1970-01-01
      • 2017-08-04
      • 2021-11-02
      • 2019-10-22
      • 2020-11-07
      相关资源
      最近更新 更多