Я всегда старался избегать использования большинства свойств протокола HTTP из страха перед неизвестным.
Однако я сказал себе, что сегодня столкнусь со страхом и начну целенаправленно использовать заголовки. Я пытаюсь отправить json
данные в браузер и сразу же ими воспользоваться. Например, если у меня есть функция обработчика Ajax в состоянии готовности 4, которая выглядит так:
function ajaxHandler(response){
alert(response.text);
}
И я установил заголовок типа содержимого в своем PHP-коде:
header('Content-Type: application/json');
echo json_encode(array('text' => 'omrele'));
Почему я не могу напрямую получить доступ к свойству из функции-обработчика, когда браузеру четко сказано, что входящие данные есть application/json
?
text
в обработчике переменную javascript, а не ответ? Это было бы очень странно. Json_encode также создает 1 объект из вашего массива PHP. Поэтому, когда вы добавляете это в javascript, его необходимо присвоить переменной.