1

我正在尝试为我的 Adob​​e Connect 帐户创建一个简单的登录表单,但它不起作用,我收到错误消息:

No 'Access-Control-Allow-Origin' header

但是我在我的机器上做其他 Ajax 调用就好了。

这是我正在使用的一些示例代码。

var request $.ajax({
    url: 'http://example.com/api/xml?action=login&login=' + username + '&password=' + password
    type: "GET"
});
request.done(function(){
    ...
})

有没有人有什么建议?

4

1 回答 1

1

您的本地机器调用正在工作,因为您在同一个域内进行调用。一旦您尝试对调用者域范围之外的内容进行 ajax 调用,您就会遇到浏览器的同源策略问题。

基本上它是一种安全策略,允许脚本在来自同一站点的页面上运行(由架构、主机名和端口之间的组合组成。例如 mysite != mysite:8080)所以如果你有一个从运行的站点执行的 ajax 调用在 mysite 到在 mysite:8080 上运行的站点上,浏览器会认为这是同源策略,因此会阻止该请求。

您应该阅读有关 CORS(跨源资源共享)的信息,以找到帮助您放松同源策略的选项。

于 2014-05-22T16:59:59.430 回答