今天在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,将不会获取到