Eu sempre tentei evitar o uso da maioria das propriedades do protocolo HTTP por medo do desconhecido.
No entanto, eu disse a mim mesmo que hoje vou enfrentar o medo e começar a usar os cabeçalhos de propósito. Eu tenho tentado enviar json
dados para o navegador e usá-los imediatamente. Por exemplo, se eu tiver uma função de manipulador Ajax no estado pronto 4, com a seguinte aparência:
function ajaxHandler(response){
alert(response.text);
}
E eu configurei o cabeçalho do tipo de conteúdo no meu código PHP:
header('Content-Type: application/json');
echo json_encode(array('text' => 'omrele'));
Por que não consigo acessar diretamente a propriedade a partir da função manipuladora, quando o navegador é informado claramente de que os dados são recebidos application/json
?
JSON.parse()
. Você pode executar alguma ação diferente ou forçar um erro se o contentType errado aparecer.
response.text
ainda é uma sequência.
text
como uma variável javascript no manipulador e não como resposta? Isso seria uma funcionalidade muito estranha. O json_encode também cria 1 objeto da sua matriz PHP. Portanto, quando você coloca isso em javascript, ele precisa ser atribuído a uma variável.