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

echo 111;

echo 111;die;

网上找到的两句有关return和echo的解释:
return 作为函数返回值或结束语句,是返回的数据的指针,也就是数据存放的地址,而接口需要返回的是真实的数据,因为前后端使用的是不同的内存系统,所以无法根据地址找到相应的数据。
echo print printf等这些能够在浏览器中打印数据的函数都是基于http协议传输的真实数据,所以在前端是可以获取和判断的。
总结:至于使用哪个,可能会受框架影响。原生的建议首先试试echo,框架的首先试试return。
本文探讨了Yii2框架下前后端分离时接口调试的问题。指出在前后端分离架构中,后台接口使用echo返回数据可能导致前端报错,推荐使用return来返回数据,或在echo后不使用die/exit等结束语句。文中还详细解释了return和echo的区别,并给出了解决方案。
6903

被折叠的 条评论
为什么被折叠?



