Я пытаюсь сделать запрос AJAX для загрузки файла JSON с S3, используя следующий код:
$.ajax({
'type':'GET',
'url':this.baseUrl + publicationId + "/document.json",
'crossDomain': true,
'dataType':'json',
'success':function(data) {
console.log('got document.json');
}
});
Это отлично работает в Firefox и работает, если baseUrl равен http://‹s3-url›, но если это https://, то Chrome отменяет запрос с ошибкой:
XMLHttpRequest не может загрузить https://s3.amazonaws.com/‹bucket-name›/‹pub-id›/document.json. В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Таким образом, источник «https://localhost.office.lucidpress.com» не имеет доступа.
Выполнение того же запроса с помощью CURL имеет следующий заголовок: «Access-Control-Allow-Origin: *».
Почему это не работает для Chrome и есть ли обходной путь?
Примечание. Я добавляю пробелы в URL-адреса, чтобы они не становились ссылками.