thinkphp - php echo return 返回json数据的问题

查看:695
本文介绍了thinkphp - php echo return 返回json数据的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

今天一直在捣鼓一个jquery autocomplete插件
我是用ajax向后台获取下拉数据,然后蛋疼的来了
先说明一点 我用的是thinkphp框架
首先肯定是要返回json数据
然后我就 return json_encode($end,JSON_UNESCAPED_UNICODE);
结果前端js插件一直报错,大概就是说返回的json数据不合法
然后捣鼓了好长时间我就尝试用 echo json_encode($end,JSON_UNESCAPED_UNICODE);
结果竟然可以了,我也百思不得其解啊,请高手讲解下,东西明明一模一样 一个echo 一个return怎么就有区别了

解决方案

js回调需要的是值,php必须只有输出json字符串它才能接收到。
这就是http协议,request发送和response接受的概念。response返回的内容里必须有值。ajax才能获取到。
而php 原样输出json串的语句有echo 函数有exit()die()
至于thinkphp里面controller层的return。只是返回给了thinkphp核心controller类。最终如果该controller没有任何输出,response内容为空。

这篇关于thinkphp - php echo return 返回json数据的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆