为了避免未知,我一直试图避免使用大多数HTTP协议的属性。
但是,我对自己说,今天我将面对恐惧,开始有目的地使用标题。我一直在尝试将json数据发送到浏览器并立即使用。例如,如果我有一个处于就绪状态4的Ajax处理程序函数,如下所示:
json
function ajaxHandler(response){ alert(response.text); }
并且我在PHP代码中设置了content-type标头:
header('Content-Type: application/json'); echo json_encode(array('text' => 'omrele'));
当清楚地告诉浏览器传入数据为时,为什么不能直接从处理程序函数访问该属性application/json?
application/json
该Content-Type头只是作为您的应用程序信息。浏览器不在乎它是什么。浏览器只是从AJAX调用返回数据。如果要将其解析为JSON,则需要自己完成。
Content-Type
标头在那里,因此您的应用程序可以检测到返回了什么数据以及应该如何处理它。您需要查看标头,application/json然后将其解析为JSON。
实际上,这就是jQuery的工作方式。如果您不告诉它如何处理结果,它将使用Content-Type来检测要如何处理结果。