【发布时间】:2015-12-04 07:30:19
【问题描述】:
我正在尝试从一台服务器进行 AJAX 调用,并在另一台服务器上进行 JSON 调用。我已经阅读了有关为 CORS 设置标头的信息,但不确定我具体需要做什么。我在服务器 A 上调用服务器 B 并收到错误:
XMLHttpRequest 无法加载 http://serverB 请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://serverA' 因此不允许访问。
$.ajax({
url: 'http://serverB/userList',
type: 'GET',
crossDomain: true,
dataType: 'jsonp',
success: function(data){
alert(text.html(JSON.stringify(data)));
},
error: function(e){
alert(e);
}
});
我已经看到了很多不同的方法来添加到标题中,但不确定什么是正确的方法,因为结果是混合的(搜索 StackOverflow 以获取示例)。
添加到上述示例 AJAX 调用的正确方法是什么?
谢谢 史蒂夫
【问题讨论】:
-
您使用的是什么服务器? .Net (c#)、Linux PHP?
-
如果你的服务器配置正确,jQuery 应该会自动处理这个问题。
-
这是一个 Ubuntu Linux 服务器。该项目设置为 PHP,但基本上使用带有上述 AJAX 调用的直接 HTML 和 JQuery
-
使用 jsonp 数据类型,您应该不会遇到 CORS 问题。