前端bug,求高手帮忙看看!!!

杨帆9527 2017-06-09 04:02:02
不废话,直接上代码

function selectNum(){
var select_type = $("#select_type").val();
var select_date = $("#datetimepicker").val();
if (select_date =="" ||undefined || null) {
alert("请选择时间");
} else {
//dwr框架
sql.selectTwo(select_type,select_date,function(value){

var json = value; //后台获取的json数据串

alert(json); //正常输出

function getNum(arr,n,v) {
for (var i = 0; i < arr.length; i++)
if (arr[i][n]==v)
return arr[i];
}
alert(getNum(json,"sid",1).sum);
}


如上代码,从后台取json正常,alert(json)输出也正常,
json类似这样[{"sum":99999,"sid":1},{"sum":0,"sid":11},{"sum":0,"sid":12}]
但是调用getNum方法无法从json中取数的时候,前端提示
Cannot read property 'sum' of undefined
我把这个json和取值的方法单独拿出来,执行没问题
个人怀疑可能是dwr框架的问题,不过弄了半天也没解决
求大神帮忙看看,项目下周要给客户展示,挺急的,谢谢啦!!!
...全文
160 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
人鱼传说 2017-06-09
  • 打赏
  • 举报
回复
一楼的正解
杨帆9527 2017-06-09
  • 打赏
  • 举报
回复
谢谢大神,解决了,还是要再好好学习啊,以前也不怎么用json,临时抱佛脚,老是出bug,再次谢谢大神!!!我再赶紧把项目补上
杨帆9527 2017-06-09
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:
另外 if (select_date =="" ||undefined || null) 要改成 if (select_date=="" || select_date==undefined || select_date==null) 不能像你那样简写
好的,我马上改,谢谢大神
天际的海浪 2017-06-09
  • 打赏
  • 举报
回复
另外 if (select_date =="" ||undefined || null) 要改成 if (select_date=="" || select_date==undefined || select_date==null) 不能像你那样简写
杨帆9527 2017-06-09
  • 打赏
  • 举报
回复
补上alert图片 json的alert
引用 1 楼 jslang 的回复:
alert(json);能正常输出,说明json是一整个的字符串。要先解析为js的数组和对象才行 var json = JSON.parse(value); 或者 var json = eval("("+value+")");
好的,我去试试
天际的海浪 2017-06-09
  • 打赏
  • 举报
回复
alert(json);能正常输出,说明json是一整个的字符串。要先解析为js的数组和对象才行 var json = JSON.parse(value); 或者 var json = eval("("+value+")");

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧