Я пытаюсь получить результаты от this endpoint. Используя GET, я получаю ошибку CORS, поэтому я пытаюсь использовать jsonp.
Результаты
Refused to execute script from 'https://api.airbnb.com/v2/listings/16218947?client_id=3092nxybyb0otqw18e8nh5nty&_format=v1_legacy_for_p3&callback=angular.callbacks._0'
because its MIME type ('application/json') is not executable,
and strict MIME type checking is enabled.
Мой код
var API_BASE_URL = 'https://api.airbnb.com/v2/';
function getListing(id) {
var url = API_BASE_URL + 'listings/' + id + '?client_id=3092nxybyb0otqw18e8nh5nty&_format=v1_legacy_for_p3';
var trusted = $sce.trustAsResourceUrl(url);
return $http.jsonp(trusted, {
jsonpCallbackParam: 'callback',
headers: {
'Accept': 'application/javascript'
}
});
};
Если я отправляю запрос через свой домен, я не получу ошибку CORS? –
Нет, конечно нет. CORS - это всего лишь понятие, которое существует в изолированных браузерах и является ограничением для javascript. На вашем сервере вы можете выполнять любые запросы в любой домен, который вы хотите, используя серверный язык, такой как PHP. –