如何设置HTTP响应头并使用send方法发送JSON格式数据?
- 内容介绍
- 文章标签
- 相关推荐
本文共计993个文字,预计阅读时间需要4分钟。
直接返回JSON数据,内容如下:
PHP 中用 header() 和 echo json_encode() 返回 JSON
PHP 没有内置的“JSON 响应对象”,靠手动设置 header + 输出字符串。常见错误是漏掉 header()、或者在输出前已有空格/echo/print 导致 header 发送失败。
- 必须在任何输出(包括空白符、BOM、
echo、var_dump)之前调用header('Content-Type: application/json; charset=utf-8') - 推荐加
charset=utf-8,避免中文乱码;不加也不报错,但某些旧浏览器可能出问题 -
json_encode($data, JSON_UNESCAPED_UNICODE | JSON_INVALID_UTF8_SUBSTITUTE)能更好处理中文和非法 UTF-8 字符 - 别用
exit或die替代return—— 如果在函数里,直接return更安全,避免意外终止后续逻辑
Node.js Express 里用 res.json() 最省事,但要注意它自动设了 header
res.json() 内部已封装好 Content-Type 和 JSON.stringify(),90% 场景直接用就行。
本文共计993个文字,预计阅读时间需要4分钟。
直接返回JSON数据,内容如下:
PHP 中用 header() 和 echo json_encode() 返回 JSON
PHP 没有内置的“JSON 响应对象”,靠手动设置 header + 输出字符串。常见错误是漏掉 header()、或者在输出前已有空格/echo/print 导致 header 发送失败。
- 必须在任何输出(包括空白符、BOM、
echo、var_dump)之前调用header('Content-Type: application/json; charset=utf-8') - 推荐加
charset=utf-8,避免中文乱码;不加也不报错,但某些旧浏览器可能出问题 -
json_encode($data, JSON_UNESCAPED_UNICODE | JSON_INVALID_UTF8_SUBSTITUTE)能更好处理中文和非法 UTF-8 字符 - 别用
exit或die替代return—— 如果在函数里,直接return更安全,避免意外终止后续逻辑
Node.js Express 里用 res.json() 最省事,但要注意它自动设了 header
res.json() 内部已封装好 Content-Type 和 JSON.stringify(),90% 场景直接用就行。

