thinkphp - TP为什么返回的数据一直都是array??
本文介绍了thinkphp - TP为什么返回的数据一直都是array??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
第一次我这样在js里面循环输出ajax返回的数据 但是只输出一个array的一个y字母
$res=$xiao->field("title")->select();
$this->ajaxReturn($res,'eval');
ajax("{:U('zhuye/zhuye')}",oV1,function(str){
for(i=0;i<str.length;i++){
oSp1.innerHTML=str[i];
}
});
后来我在后台循环数组然后再输出 为什么这样输出到前台显示出来还是一个array
这是为什么?ajax应该怎么输出返回的数据呢?
$res=$xiao->field("title")->select();
foreach($res as $v){
$this->ajaxReturn($v,'eval');
}
ajax("{:U('zhuye/zhuye')}",oV1,function(str){
oSp1.innerHTML=str;
});
解决方案
默认情况下ajaxReturn返回的是json数据,但是需要注意的是他对返回的json数据做了包装使其更加的规范,所以他返回的json数据其实包含了三个字段,status,info,data
其中data才是你要的json数据,所以你前端ajax接收到数据的时候,你真正的数据是在str.data中
建议多利用chrome等浏览器的web开发调试工具,里面networking中可以看到XHR URL中返回的json数据是怎么样的结构,然后还可以利用console.log来打印js中变量结构,更高级一些的 还可以用调试工具
这篇关于thinkphp - TP为什么返回的数据一直都是array??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文