首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

jQuery的Ajax请求,回来JSON数据,但是在success里无法获取数据

2013-09-17 
jQuery的Ajax请求,返回JSON数据,但是在success里无法获取数据这是Ajax请求,alert(data)时,没有反应!这是JS

jQuery的Ajax请求,返回JSON数据,但是在success里无法获取数据
jQuery的Ajax请求,回来JSON数据,但是在success里无法获取数据
这是Ajax请求,alert(data)时,没有反应!
这是JSON返回数据:
请求路径:http://localhost:8080/admin/region/region!loadNext.do
jQuery的Ajax请求,回来JSON数据,但是在success里无法获取数据
错在哪里呢? jQuery Ajax JSON
[解决办法]
'===>改为"

你的jquery版本应该是1.4+以上的,怪异json字符不执行success回调,参考:jQuery dataType指定为json的问题
[解决办法]
没注意看,你的JSON结构也错了,数组的键名称没有指定。。

加上value

{"success":true,"value":[......
[解决办法]
$.each(jsonData
改为$.each(jsonData.value
[解决办法]
本帖最后由 showbo 于 2013-07-16 16:28:12 编辑  var jsonData = unescape(data.responseText);    
这句有问题,data参数已经是json对象了,不需要再声明jsonData,而且生成json对象时eval,不是unescape


            $.each(data.value, function(index, item){
                alert(item.regionNameZh); 
                //$("#habitatRegion2").append("<option value='"+item.id+"'>"+item.regionNameZh+"</option>");
            });    



{"success":true,"value":[{"id":"2","regionType":"1","regionNameZh":"北京市","regionParentId":"3525"}]"}

这里多了一个",不知道是不是手误打上去的
[解决办法]
success的data参数不可能是XMLHttpRequest对象啊,要么字符串,要么就jquery处理后的json对象

直接浏览器访问../region/region!loadNext.do输出的内容是什么?是修改好后的json格式的字符串数据没有?


[解决办法]


那应该木有问题啊,是执行到success回调了吧,那么success:function(data),data参数不会是ajax对象的

楼主什么版本的jquery?
[解决办法]
本帖最后由 showbo 于 2013-07-17 09:40:12 编辑 去掉value,$.each就要改了,已经变成数组,

 alert(data) //弹出是 object XMLHttpRequest,success回调函数的参数没见过有传递ajax对象
//如果确实是xhr对象,你的jquery应该是被改动过了。

 alert(data.responseText) //输出看看什么内容

//如果data为xhr,只能eval动态生成json对象了

data=eval('('+data.responseText+')')
 $.each(data, function(i, item){ //在这里就报错:length为空或不是对象
                alert(item.regionNameZh);
                $("#habitatRegion2").append("<option value='"+item.id+"'>"+item.regionNameZh+"</option>");
            });
 
[解决办法]
$.post("请求url",function(data){
   $.each(data.Data,function(i,item){
       alert(item.id);
   });
},"json");

热点排行