jquery ajax 返回json类型,但是取不到内容,data.XXX得到的永远是undefined。N个小时前还是好的......
$.ajax({url:"checkcode.action",type:"post",async:false,data:{chkCode:function(){retur...
$.ajax({
url:"checkcode.action",
type:"post",
async:false,
data:{
chkCode:function(){
return $('#chkCode').val();
}
},
dataType:'json',
dataFilter:function(data,type){
console.log(data);
console.log(data.checked+" "+data.chkCode);
result = data.checked;//这个result在ajax外定义了
console.log("result:"+result);
}
});
这是我ajax部分的代码,在fire debug中,我输出了data,
另外也尝试输出data.checked 和data.chkCode
但是,都是undefined,这到底是哪里错了,求高手指教!! 展开
url:"checkcode.action",
type:"post",
async:false,
data:{
chkCode:function(){
return $('#chkCode').val();
}
},
dataType:'json',
dataFilter:function(data,type){
console.log(data);
console.log(data.checked+" "+data.chkCode);
result = data.checked;//这个result在ajax外定义了
console.log("result:"+result);
}
});
这是我ajax部分的代码,在fire debug中,我输出了data,
另外也尝试输出data.checked 和data.chkCode
但是,都是undefined,这到底是哪里错了,求高手指教!! 展开
展开全部
你已经拿到数据了,看样子是数据没有解析为json格式
jsondata=$.parseJSON(data);
console.log(data.chkCode);
试一下
jsondata=$.parseJSON(data);
console.log(data.chkCode);
试一下
追问
谢谢,的确可行。可是我又百度了下资料,需要用到parseJSON往往是解析不正确,例如发送请求时,数据类型不是json, 但是我的代码中,的确已经设置dataType为json,并且action的result的type也是json。重点是,之前有一段时间是反正正确并能取值的,现在到底是哪个语句影响到它了呢?
追答
你真有探索精神。
我基本不用$.ajax,都是用的$.post。我感觉,可能与你的浏览器有关系,而不是你的代码的问题。你用的什么浏览器?试试ietester。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然你的debug里面data是有数据的,那undefined只能是result了……检查下result的范围,还有类型……
追问
你好,除了那个rusult,我还输出了这句:
console.log(data.checked+" "+data.chkCode);
结果也都是undefined, 见上图中第二行
追答
哦哦,sorry,看的不仔细。那你后台action传的值正常啊……,为什么undefined……等别人回答,帮不了你,直接alert呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你已经得到的数据,显然数据不被解析JSON格式
jsondata = $ parseJSON(数据);
的console.log(data.chkCode)的;
尝试
jsondata = $ parseJSON(数据);
的console.log(data.chkCode)的;
尝试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你已经得到的数据,显然数据不被解析JSON格式
jsondata = $ parseJSON(数据);
的console.log(data.chkCode)的;
尝试
jsondata = $ parseJSON(数据);
的console.log(data.chkCode)的;
尝试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询