#javascript #axios #xmlhttprequest #http-headers
#javascript #axios #xmlhttprequest #http-заголовки
Вопрос:
Метод «GET». Тип содержимого «application / json».
это не работает. (Ответ — 415 (HTTP-код).)
var config = {
headers : {
"Accept": "application/json",
"Content-Type": "application/json",
}
};
axios.get('http://192.168.2.2:90/api/pagetwo?size=10amp;page=1', config)
.then((res) => {
console.log(res);
});
но это работает.
следующее :
var xhr = new XMLHttpRequest(); // only XMLHttpRequest.
var url = "http://192.168.2.2:90/api/pagetwo?size=10amp;page=1";
xhr.open("GET", url, false); // false is "async"
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (this.readyState === XMLHttpRequest.DONE) {
if (this.status === 200) {
console.log(JSON.parse(this.responseText));
} else {
console.log(this.status, this.statusText);
}
}
};
xhr.send();
Кто-нибудь здесь может ответить на этот вопрос, кто объяснит эту проблему для экономии нашего времени?
Спасибо!!
Ответ №1:
Я считаю, что заголовки axios GET требуют, чтобы был указан data
ключ, иначе он будет игнорировать тип содержимого (даже если это запрос GET)
Итак, вы можете сделать что-то вроде этого
var config = {
data: {},
headers : {
"Accept": "application/json",
"Content-Type": "application/json",
}
};
или
var config = {
data: null,
headers : {
"Accept": "application/json",
"Content-Type": "application/json",
}
};
Комментарии:
1. Это работает! Спасибо, что предоставили свою идею! (Возможно, процессор «Data» не существовал на сервере ответа.)