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,这到底是哪里错了,求高手指教!!
展开
 我来答
刀名阿里噶
2013-03-02 · 超过24用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:19.8万
展开全部
直接alert(data)看看是什么东西,如果是一串字符串的话,那么说明你的Json字符串还没有转换为Json对象,如果是object object的话,那么说明已经是Json对象了,问题要一步一步的分析,笼统的看,很不容易看出来到底是哪里出错了,首先要缩小错误的范围。
林一夏
推荐于2018-02-28 · TA获得超过482个赞
知道小有建树答主
回答量:608
采纳率:0%
帮助的人:460万
展开全部
你已经拿到数据了,看样子是数据没有解析为json格式
jsondata=$.parseJSON(data);
console.log(data.chkCode);
试一下
追问
谢谢,的确可行。可是我又百度了下资料,需要用到parseJSON往往是解析不正确,例如发送请求时,数据类型不是json, 但是我的代码中,的确已经设置dataType为json,并且action的result的type也是json。重点是,之前有一段时间是反正正确并能取值的,现在到底是哪个语句影响到它了呢?
追答
你真有探索精神。
我基本不用$.ajax,都是用的$.post。我感觉,可能与你的浏览器有关系,而不是你的代码的问题。你用的什么浏览器?试试ietester。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4c0832b63
2013-03-02
知道答主
回答量:31
采纳率:0%
帮助的人:5.8万
展开全部
既然你的debug里面data是有数据的,那undefined只能是result了……检查下result的范围,还有类型……
追问
你好,除了那个rusult,我还输出了这句:
console.log(data.checked+" "+data.chkCode);
结果也都是undefined, 见上图中第二行
追答
哦哦,sorry,看的不仔细。那你后台action传的值正常啊……,为什么undefined……等别人回答,帮不了你,直接alert呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ithuangming
2013-03-27 · TA获得超过793个赞
知道小有建树答主
回答量:3833
采纳率:0%
帮助的人:1118万
展开全部
你已经得到的数据,显然数据不被解析JSON格式
jsondata = $ parseJSON(数据);

的console.log(data.chkCode)的;
尝试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d12f6f3a1
2013-03-27 · TA获得超过2244个赞
知道小有建树答主
回答量:1.4万
采纳率:33%
帮助的人:2463万
展开全部
你已经得到的数据,显然数据不被解析JSON格式
jsondata = $ parseJSON(数据);

的console.log(data.chkCode)的;
尝试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式