js回调需要的是值,php必须只有输出json字符串它才能接收到。
这就是http协议,request发送和response接受的概念。response返回的内容里必须有值。ajax才能获取到。
而php 原样输出json串的语句有echo 函数有exit()die()
至于thinkphp里面controller层的return。只是返回给了thinkphp核心controller类。最终如果该controller没有任何输出,response内容为空。
SF之前就有类似问题:echo和return的区别
再说一遍好了:
return
是给PHP程序返回结果的。echo
才是Ajax的响应。
真是醉了,楼主看到前端js错误了,就不能顺便看看ajax的返回值吗?到底是什么问题不是一目了然的事情么。
正确做法应该是
exit(json_encode($end,JSON_UNESCAPED_UNICODE));
return
是在function里返回的。echo
是输出到页面的。
TP有个$this->ajaxReturn();方法,可以直接用。