这是我在Chrome控制台中看到的错误。
XMLHttpRequest 不能加载 {URL}。Access-Control-Allow-Origin 不允许 Origin {URL}。
我尝试为 CORS 配置我的 NGINX:
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上。
基于这篇文章,我又添加了两个标题(除了您在上面的问题中提到的两个),它对我有用,使用 JQuery json 跨域请求:
add_header Access-Control-Allow-Headers Content-Type;
add_header Access-Control-Max-Age 86400;