nginx,jquery - 执行 POST 时出现 Access-Control-Allow-Origin 错误
Posted
技术标签:
【中文标题】nginx,jquery - 执行 POST 时出现 Access-Control-Allow-Origin 错误【英文标题】:nginx, jquery - getting Access-Control-Allow-Origin error while doing a POST 【发布时间】:2012-05-08 12:21:32 【问题描述】:这是我在 chrome 控制台中看到的错误。
XMLHttpRequest 无法加载 URL。 Access-Control-Allow-Origin 不允许来源 URL。
我尝试为我的 nginx 配置 CORS:
location /
if ($http_origin)
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET,POST,OPTIONS";
但这似乎没有帮助。
jquery 调用如下所示:
var submissionData = '"tweet_id":"'+tweet_id+'", "question_id":"'+question_id+'", '+choiceString+', "extra_passback":"'+extra_passback+'"';
$.post("http://ec2[...].amazonaws.com/question/answer/", submissionData, function(data) console.log("success"););
我什至不确定问题出在 jquery 还是 nginx。
【问题讨论】:
你一定要看link,啊你的根目录下有crossdomain.xml吗? 【参考方案1】:基于this post,我添加了另外两个标头(除了您在上面的问题中提到的两个),它适用于我,带有 JQuery json 跨域请求:
add_header Access-Control-Allow-Headers Content-Type;
add_header Access-Control-Max-Age 86400;
【讨论】:
以上是关于nginx,jquery - 执行 POST 时出现 Access-Control-Allow-Origin 错误的主要内容,如果未能解决你的问题,请参考以下文章
POST 后使用 HttpClient 执行 GET 时出现异常
为啥我在执行 POST 请求时收到 405 Method Not Allowed