php - ajax中返回json获取问题
黄舟
黄舟 2017-04-11 09:54:43
[PHP讨论组]


$.ajax({
           success: function(getdata){
           
           }
    });
    
    

ajax响应的是 {"success":"1","error_code":"u53d1u5e03u6210u529f"}

我在获取时直接 getdata.success 就可以直接取到了

而用 var obj=$.parsejson(getdata) 处理后在
obj.success 就是直接objnull

php代码部分为

$json = array('success'=>$success,'error_code'=>$error_code);
        echo json_encode($json);

请问为什么不用处理getdata,关于ajax 使用json格式在success处理那一块有点不懂,普通的alert在ajax用不了,使用console.log()也用不了,各位如果ajax中间出了问题一般是怎么调试的

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
天蓬老师

Ajax里面有个datatype这个参数,这个参数的意思是指定返回的数据类型,如果你这里写的是json格式的话,成功之后的回调方法里就不用再把数据转换为json了,因为你php已经输出了json格式.

$.get或者$.postAjax方式在回调方法里则需要把数据转换为你需要的数据类型,因为这里没有指定返回数据类型,就是这样。

黄舟

首先,是$.parseJSON,不是parsejson,然后,在success里面可以直接用console.log打印出来getdata

天蓬老师

如果是简单的获取数据的话推荐使用jquery的$.getJSON()方法,例如:

$.getJSON('test.json', function(data){
   for (var i = 0; i < data.rows.length; i++) {
      $('#test').append('<p>' + data.rows[i].realName + '</p>');
   }
});

然后,返回的data数json对象,可以使用console.log(data)看数据结构的

伊谢尔伦

先直接在success中打印getdata看返回的数据是字符串还是对象

如果是对象,不用做parseJSON处理,因为jquery帮你处理好了

如果是字符串,需要 $.parseJSON(getdata),但不是小写的 $.parsejson(getdata)

至于你说的alert不管用,应该是其他地方出的问题影响的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号