2016-01-03 2 views
1

Я начинаю с Javascript и недавно столкнулся с этой проблемой. Мне нужно загрузить Javascript-файл в тег скрипта, но он защищен Basic Authentication.Загрузка файлов Javascript с пользовательскими значениями заголовков

Для доступа к этому файлу я должен был бы передать Athorization HTTP-заголовок с соответствующими значениями.

Поскольку этот файл сценария не находится на одном и том же происхождении, я не могу использовать Ajax для его загрузки. Так что я почти остался с тегом <script>.

Мой вопрос: можем ли мы передавать заголовки HTTP при загрузке файлов Javascript с использованием <script> и можно ли отправить запрос POST или любой другой запрос с помощью тега <script>?

+0

Могу я спросить, почему вы хотели бы это сделать? Это может быть серьезная проблема безопасности для вашего приложения. Если скрипт создан для внедрения в другие приложения, он должен предоставить соответствующие CORS, JSON-P или аналогичные. –

+0

Это корпоративное приложение, а скрипт является лицензированным, они предоставляют ключ доступа к скрипту для каждого зарегистрированного приложения. На основе предоставленных поставщиков API-ключей отслеживают количество запросов, сделанных приложением, что отличается для разных лицензий. –

+0

Для этого вы должны использовать 'ajax'. Такие запросы действительно подчиняются одной и той же политике происхождения, но это не означает, что это невозможно. Вы «только» должны позаботиться о том, чтобы использовать правильные заголовки, поэтому вам нужно «переименовать» это происхождение для своей страницы. Тогда браузер будет загружать этот сценарий динамически. – arkascha

ответ

1

Извините, не могу комментировать прямо сейчас, но вот пример того, как вы можете загрузить скрипт google maps js с помощью ajax.

var url = 'https://maps.googleapis.com/maps/api/js?v=3.0&sensor=false'; 

$.ajax({ 
    url: url, 
    dataType: "script" 
}).success(function (result){ 
    map = new google.maps.Map(document.getElementById('map'), { 
     center: {lat: -34.397, lng: 150.644}, 
     zoom: 8 
    }); 
}).error(function (data, textStatus, jqxhr) { 
    alert(data.error); 
    alert(textStatus); 
}); 
+0

Ajax не является вариантом из-за того, что поставщик политики и сценариев CORS не предоставляет никаких заголовков Access Controll Allow. –

+0

Однако, я думаю, что на вторую часть моего вопроса отвечает, как если бы CORS не была проблемой, тогда вызов Ajax можно использовать для загрузки скрипта с запросом POST. –

+0

Предоставляют ли они инструкции интерфейса API для загрузки этого скрипта? Насколько я знаю, методы CORS могут быть разрешены на стороне сервера. Иногда есть функция обратного вызова в параметрах параметров запроса, таких как Google, « " –

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