ajax接收php数组的问题
我用ajax请求了一个php页面,php页面返回了一个有10元素的二维数组,可是用ajax接收以后却不能读出来,接收后的数组的第一个元素是A!请问是什么原因?还有解决办法...
我用ajax请求了一个php页面,php页面返回了一个有10元素的二维数组,可是用ajax接收以后却不能读出来,接收后的数组的第一个元素是A!请问是什么原因?还有解决办法 谢谢!
展开
2个回答
展开全部
1、ajax 是否正常。
2、数据采用什么格式,xml 还是 json 或者是其他格式?通常用 json 比较方便。php 里转换成json字符串后,js这里要先处理成一个可以操作的对象。比如,如果用jquery的话,它会自动完成这个转换。
调试时,firebug 可以观察整个请求的信息。希望你可以从这里了解到更多的信息。比如返回的数据是否符合要求。
2、数据采用什么格式,xml 还是 json 或者是其他格式?通常用 json 比较方便。php 里转换成json字符串后,js这里要先处理成一个可以操作的对象。比如,如果用jquery的话,它会自动完成这个转换。
调试时,firebug 可以观察整个请求的信息。希望你可以从这里了解到更多的信息。比如返回的数据是否符合要求。
追问
返回的数据一定要处理成某种格式吗?我没有对数组进行任何处理 请问该怎么接收?
追答
php 里直接 echo 一个数组,会输出 Array,并报警告。通过 ajax 获取到的数据,就是一个字符串 'Array'。
通常我们都是使用 json 的格式,php中,对数组使用 json_encode 可以生成符合json格式的字符串,然后输出这个字符串。举个例子:
$arr=array(
'a'=>1,
'b'=>'b',
'c'=>true
);
echo json_encode($arr); // {"a":1,"b":"b","c":true}
对于 js 来说 '{"a":1,"b":"b","c":true}' 这个字符串,通过简单的处理,就可以变成一个对象,比如:
eval('a={"a":1,"b":"b","c":true}');
alert(a.a); // 1
2013-06-10 · 知道合伙人软件行家
关注
展开全部
你的描述不是很详细,据我的理解,建议你查看php返回的数据格式,如果使用的json格式,需要在接收后同样用json读取。
追问
php返回的就是一个普通的php二维数组,如果是普通数组要怎么处理?谢谢
追答
这个还要看你接收端使用的是什么语言,如果也是php的话,那就直接将这个数据当普通数组那样使用就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询