PHP返回JSON需正确设置响应头,包括Content-Type为application/json; charset=utf-8、HTTP状态码,并封装成函数处理编码失败等异常情况。

当使用PHP返回JSON数据时,若未正确设置响应头,客户端可能无法正确识别返回内容为JSON格式,导致解析失败或出现乱码。以下是实现JSON格式响应头设置的多种方法:
一、使用header函数设置Content-Type
通过调用header()函数显式声明响应的内容类型为application/json,确保浏览器或API调用方将响应体按JSON解析。
1、在输出JSON数据前,调用header()函数设置响应头。
2、使用json_encode()将PHP数组或对象编码为JSON字符串。
立即学习“PHP免费学习笔记(深入)”;
3、使用echo或print输出该JSON字符串。
4、确保在调用header()之前没有任何输出(包括空格、BOM头或echo语句),否则会触发“headers already sent”错误。
二、添加字符编码声明
在Content-Type中明确指定UTF-8编码,可避免中文等非ASCII字符显示为乱码,提升兼容性与可读性。
1、构造完整的Content-Type字符串:application/json; charset=utf-8。
2、将该字符串作为参数传入header()函数。
3、执行json_encode()并输出结果。
4、注意:charset=utf-8必须小写,且中间无空格。
三、使用http_response_code设置状态码
配合JSON响应,主动设定HTTP状态码(如200成功、400错误、500服务器异常),使前端能依据状态码区分业务逻辑结果。
1、在header()调用前或后调用http_response_code()函数。
标签: php js 前端 json 编码 浏览器 app 状态码 api调用 json数组
还木有评论哦,快来抢沙发吧~