Я новичок в «PHP и JavaScript». На днях я кодировал асинхронную запрос и ответ. Работая когда -то с fetch () , я подумал об использовании xmlhttprequest () . Это была небольшая работа, но затем я ввел следующий код: < /p>
Код: Выделить всё
let xhr = new XMLHttpRequest();
xhr.open('POST', 'http://localhost/test/test.php', true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
xhr.responseType = 'json';
xhr.onload = function() {
if (xhr.status != 200){
console.log(`Error ${xhr.status}: ${xhr.statusText}`);
} else {
document.getElementById("lull").innerHTML = xhr.response
}
};
xhr.send("url=wikipedia.org");
Я попробовал всю ночь отладки, почему это возвращает null в своем ответе. Затем я наткнулся на это и случайно изменил xhr.responsetype = 'json'; на xhr.overridemimeType ("application/json"); и это сработало! Итак, я пытаюсь понять, как они отличаются в своей работе? MDN_WEBSITE говорит, что rassionType () можно использовать для изменения типа ответа, и многие другие источники использовали его! json_encode () .
требуемый файл PHP:
Код: Выделить всё
Подробнее здесь: [url]https://stackoverflow.com/questions/79701616/why-overriding-mime-type-works-but-not-response-type[/url]