我正在尝试从我的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?
答案 0 :(得分:-2)
尝试:
ENV.contentSecurityPolicy = {
'connect-src': "'self' http://localhost"
}
作为临时解决方法,请在Chrome中尝试:
编辑: 你为什么要通过Ajax加载JS文件?通常你会在index.html文件中加载它,然后你可以访问它的方法。