2016-04-05 3 views
0

Я пытаюсь загрузить js из другого домена в моем приложении Ember. Однако я получаю следующую ошибку;Загрузить внешний скрипт домена в приложении Ember

XMLHttpRequest не может загрузить https://external.main.com/my-client.js. Ответ на запрос перед полетом не проходит проверку контроля доступа. Нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе. Происхождение '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" 
} 

Как я могу загрузить внешний JS в Ember ?

+0

Но, как я уже сказал, я уже пробовал с contentSecurityPolicy – testndtv

ответ

-2

Try:

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

В качестве временного решения, попробуйте это в Chrome:

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

EDIT: Почему вы пытаетесь загрузить JS файл с помощью Ajax? Обычно вы загружаете его в файл index.html, а затем можете получить доступ к его методам.

+0

Спасибо, и мне нужно сделать какие-либо обновления dataType: 'JSON',? Я получаю JS, который предоставляет некоторые объекты. – testndtv

+0

Мне нужно выполнить один из методов, возвращаемых внутри этого внешнего JS (object.method). – testndtv

+0

Вам нужно импортировать файл js в файл index.html, а затем вы можете вызвать его методы. –

Смежные вопросы