在Ember app中加载外部域脚本

时间:2016-04-05 11:16:41

标签: javascript ajax ember.js

我正在尝试从我的Ember应用中的其他域加载js。但是,我收到以下错误;

XMLHttpRequest无法加载https://external.main.com/my-client.js。对预检请求的响应没有通过访问控制检查:否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' http://localhost'因此不允许访问。

下面是我用来调用JS(AJAX)

的代码
var promise = new Ember.RSVP.Promise(function(resolve, reject) {
    return $.ajax({
        url: requestUrl,
        type: 'POST', 
        dataType: 'JSON',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(postData),
        async: isAsync
    }).success(resolve).error(reject);
    })
    .catch(this.handleServerHTTPErrorCodes)
    .then(this.handleCommonServerErrors);
    return promise;

我还在environment.js

中添加了以下配置
ENV.contentSecurityPolicy = {
  'connect-src': "'self' https://external.main.com"
}

如何在Ember中加载外部JS?

1 个答案:

答案 0 :(得分:-2)

尝试:

ENV.contentSecurityPolicy = {
  'connect-src': "'self' http://localhost"
}

作为临时解决方法,请在Chrome中尝试:

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

编辑: 你为什么要通过Ajax加载JS文件?通常你会在index.html文件中加载它,然后你可以访问它的方法。