javascript - HTTP 内容类型 header 和 JSON

标签 javascript php json http http-headers

出于对未知的恐惧,我一直试图避免使用 HTTP 协议(protocol)的大部分属性。

但是,我对自己说,我今天要面对恐惧,并开始有目的地使用标题。我一直在尝试将 json 数据发送到浏览器并立即使用它。例如,如果我有一个处于就绪状态 4 的 Ajax 处理函数,看起来像这样:

function ajaxHandler(response){
    alert(response.text);
}

我已经在我的 PHP 代码中设置了 content-type header :

header('Content-Type: application/json');
echo json_encode(array('text' => 'omrele'));

当浏览器被明确告知传入的数据是application/json时,为什么不能直接从handler函数访问属性?

最佳答案

Content-Type header 仅用作应用程序的信息。浏览器不在乎它是什么。浏览器只是返回来自 AJAX 调用的数据。如果你想把它解析为 JSON,你需要自己做。

header 在那里,因此您的应用可以检测返回的数据以及应如何处理这些数据。您需要查看 header ,如果是 application/json 则将其解析为 JSON。

这实际上是 jQuery 的工作方式。如果你不告诉它如何处理结果,它会使用 Content-Type 来检测如何处理它。

关于javascript - HTTP 内容类型 header 和 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20620300/

相关文章:

php - 如何检查php中是否已经存在mysql数据库?

php - 我的php和Mysql程序有问题吗?

json - 高级 json-schema 每个属性有多个规则

c# - 来自邻接列表的 JSON?

android - 将从 JSON 响应获取的与其内容相对应的图像添加到 ListView

javascript - 使用 Jasmine 测试服务功能 POST 响应

javascript - 悬停和 javascript 事件问题

php - 有条件的基于月份

javascript - 如何在点击事件中设置全局变量?

javascript - 如何使用 AngularJS 显示按钮或 anchor 标记值?