PHP返回接口数据使用return还是echo

本文探讨了Yii2框架下前后端分离时接口调试的问题。指出在前后端分离架构中,后台接口使用echo返回数据可能导致前端报错,推荐使用return来返回数据,或在echo后不使用die/exit等结束语句。文中还详细解释了return和echo的区别,并给出了解决方案。

问题:yii2框架,前后端分离的,前端调用后台接口,后台使用echo返回结果,前端报错。
解决:使用return返回数据,或者echo之后不加die/exit等这类结束语句。前端可以接收到传递的数据,不报错。

return 111; 正常
在这里插入图片描述
echo 111;
在这里插入图片描述
echo 111;die;
在这里插入图片描述
网上找到的两句有关return和echo的解释:
return 作为函数返回值或结束语句,是返回的数据的指针,也就是数据存放的地址,而接口需要返回的是真实的数据,因为前后端使用的是不同的内存系统,所以无法根据地址找到相应的数据。
echo print printf等这些能够在浏览器中打印数据的函数都是基于http协议传输的真实数据,所以在前端是可以获取和判断的。

总结:至于使用哪个,可能会受框架影响。原生的建议首先试试echo,框架的首先试试return。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值