Ext.Ajax.request({
url:'quertExtLm.jsp',
success:function(response){
var menuItem=Ext.decode(response.responseText); });
这个ext.decoe这句话老是报错 说缺少“)” 去掉这句话就好了 怎么回事啊 还有这句话 什么意思 能解释一下吗
[b]问题补充:[/b]
不是阿蔡的问题啊 那样的问题我肯定能检查出来的 我觉得应该是我的json格式的问题 我现在正在处理呢 我看了下打印的数据{id:1,test:'调度管理'},{id:2,test:'营销管理'}[color=red],[/color] 最后一个字符多一个逗号 我去掉看看
[b]问题补充:[/b]
{id:1282,text:"安全监察"},{id:2,text:"调度管理"},{id:4,text:"营销管理"},{id:6,text:"生产管理"} 这是我要打印出来的 这样应该是正确的吧 怎么还提示少个括号呢 我的后台代码是这样写滴:
response.getWriter().print("{success:true,msg:'"+json+"'}");
[b]问题补充:[/b]
你们说的少个"[]"这个我也加上了 很是奇怪 但是还是提示少个括号 如果我改成这样的话response.getWriter().print("{success:true,msg:'"+json+"'}"); json用双引号和单引号抱起来 就提示少个大括号! 我打印出来的语句应该是正确的
[{id:'1282',text:'安全监察'},{id:'2',text:'调度管理'},{id:'4',text:'营销管理'},{id:'6',text:'生产管理'}]
[b]问题补充:[/b]
你那样的直接alert是没有错误的 昨晚就调试了的 呵呵 怎么拿到这个msg啊 不知道success:function里面有那几个参数 看API也找不到
拿msg:
[code="java"]
...
success : function(response, options){
var result = Ext.util.JSON.decode(response.responseText);
var success = result.success;
alert(success);
var msg = result.msg;//
for(var i =0; i < msg.length; i++)
{
var obj = msg[i];
alert(obj.id);
alert(obj.text);
}
}
...
[/code]
Ext.Ajax.request({
url:'quertExtLm.jsp',
success:function(response){
var menuItem=Ext.decode(response.responseText); }});
这都检查不出来??很明显少了个}
如果不是楼上的问题,那么就是你的response.responseText的JSON数据不完整,缺少了")"或"}".
多了个逗号,提示少了个括号不足为其啊
[{id:1282,text:"安全监察"},{id:2,text:"调度管理"},{id:4,text:"营销管理"},{id:6,text:"生产管理"}]
少了中括号转化为数组
如果你的JSON是这样的
[code="java"]
[/code]
,那你的JSON
[code="java"]
String json = \"{"id":1282,"text":"安全监察"},{"id":2,"text":"调度管理"},{"id":4,"text":"营销管理"},{"id":6,"text":"生产管理"}\";
response.getWriter().print("{success:true,msg:["+json+"]}");
[/code]
前台用数组遍历MSG
上面的误操作了。
[code="java"]
String json = "{'id':1282,'text':'安全监察'},{'id':2,'text':'调度管理'},{'id':4,'text':'营销管理'},{'id':6,'text':'生产管理'}";
response.getWriter().print("{'success':true,'msg':["+json+"]}");
[/code]
在前台你拿到msg数据逐个遍历。
要不就不是这部分的问题
Ext.Ajax.request({
url:'quertExtLm.jsp',
success:function(response){
alert(111);
}});
还出错,就说明问题是外面的问题
幽灵问题,
你不会在那里用了中文括号吧。
要不这样
var menuItem=Ext.decode("'"+response.responseText+"'"); });