Расширение Postman получает ответ, но мой запрос jquery не [дубликат]
этот вопрос уже есть ответ здесь:
Я делаю запрос GET с помощью расширения Postman и получаю ответ, но если я делаю тот же запрос с помощью jQuery I получите типичную ошибку:
XMLHttpRequest не удается загрузить http://www.rfen.es/publicacion/ranking/resultsBySwimmer.asp?l=020039535&t=&p=0&e=50L-I. Заголовок "Access-Control-Allow-Origin" отсутствует в запрошенном заголовке ресурс.
почему это происходит?
мой код javascript прост:
function getTiempo (dni, piscina, prueba) {
$.ajax({
async: false,
type: "GET",
url: "http://www.rfen.es/publicacion/ranking/resultsBySwimmer.asp?l="+dni+"&t=&p="+piscina+"&e="+prueba
})
.done(function (data) {
console.log(data);
return data;
});
}
расширение Postman также не находится в одном домене, почему он получает ответ?
1 ответов
просто, чтобы помочь будущим стипендиатам, ищущим этот конкретный вопрос:почему почтальон работает, а мой jQuery нет!
ответ довольно прост, на самом деле: расширения Chrome разрешены для этого!
обычные веб-страницы могут использовать объект XMLHttpRequest для отправки и получения данных с удаленных серверов, но они ограничены той же политикой происхождения. Расширения не так ограничены. Расширение может общаться с удаленными серверами за пределами своего источника, пока поскольку он сначала запрашивает разрешения cross-origin.