php接口返回数据 用echo 还是return?

在CI框架中,使用return返回json_encode数据给前端AJAX时,发现数据始终为空,但改为echo后可以正常获取。文章探讨了PHP中return和echo在接口返回数据时的区别,指出return返回的是数据的地址,而接口需要的是实际数据。由于前后端内存系统的差异,echo能通过HTTP协议传递真实数据,而return不会产生输出。尽管TP框架允许return作为接口返回,但在原生PHP中不适用,可能是TP框架内部进行了处理。
摘要由CSDN通过智能技术生成

今天在ci框架中用 return 返回 josn_encode数据 给前台ajax ,前台获取始终为空。(原生php return也为空)

改为echo后就可以获取到。本人之前用tp的时候一直用return就能获取到。

最终看了别人的一些ci代码 这种情况也是用的echo 

return 作为函数返回值或结束语句,是返回的数据的指针,也就是数据存放的地址,而接口需要返回的是真实的数据,

因为前后端使用的是不同的内存系统,所以无法根据地址找到相应的数据,而echo print_r var_dump等这些能够在浏览器中打印数据的函数都是基于http协议传输的真是数据,所以在前端是可以获取和判断的.

Ajax获取返回值是使用HTTP请求。 return不会产生输出(只在server端进行)而echo可以(从server -> brower,http协议)。Ajax请求的url其实就是一个页面,它可以在浏览器显示,而 php中以return返回数据只是在服务器端去返回这些数据。
综上所述,如果ajax 地址是一个PHP return,将不会获取到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易天海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值