$.getJSON(url,function success(){})回调函数不起作用
有个问题好久没有解决,就是:
$.getJSON(url,function success(){})
其中的回调函数,总也不执行。
以前也做过,但那都是CTRL+C,CTRL+V,也没有细想。
目标就是一个:程序好使就可以了,也曾遇到过不好用,但也是稀里糊涂。
今天又遇到了,因为领导不着急,我也就磨蹭了两天,终于今天搞明白了。
简单来说,如下:
1.$.getJSON()
回调函数,必须返回标准的JSON串,属性和值都必须带双引号。即{"name":"ssqhan"}
下面是不行的:{name:"ssqhan"}
2.dhtmlxGrid的myGrid.parse(js,"json") 中的JS是json串
但这个串可以是这样的: A {"rows":[ {"id":"0", "data":["1","大声说话",""] },{"id":"1", "data":["2","乱扔费纸","测试测试"] }]}
亦可是这样的: B {rows:[ {id:0, data:["1","大声说话",""] },{id:1, data:["2","乱扔费纸","测试测试"] }]}
//-----------------------------------------------------------------
补充:在后来的使用过程中发生的问题
JS返回的串: "rows":[ {"id":"0", "data":["1","大声说话",""] },{"id":"1", "data":["2","乱扔费纸","测试测试"] }]
注意:看和上面的A有什么区别
当然,结果肯定是运动不了!
其原因,对JSON串的理解不到位
//----------------------------------------------------------------
因为我的环境是这样的: jquery+ashx+dhtmlxgrid
通过后台的 ashx返回 JSON串
以前时用时均以 B 格式返回,dhtmlxGrid 是可以接受到的,也能显示。
这次都不行,我换了好几个版本的JQUERY 但都不行,最后还是问 "度娘"
因为以前都是 CTRL+C,CTRL+V 也没有细看说明书。
后来细看说明,再加上看了以前网友的说明。最后才明白以上的道理。