jquery的ajax得不到data
后台查到数据为{"remark":"kan","userid":588,"unprocnum":4,"unprocmakupnum":2}
将数据转为json
jsons = JSONObject.fromObject(opencallUser);
return SUCCESS;
xml配置:
<action name="searchOpencallUser" class="com.smartcoms.web.action.OpenCallUserAction">
<result name="success" type="json"/>
</action>
前台:
$.ajax({
cache:false,
type : "get",
url :"<%= request.getContextPath() %>"+"/json/searchOpencallUser.action",
datatype : "json",
success : function(data){
var json = eval("("+data+")");
$('#unProcnum').text(json.mark);
}
});
SyntaxError: missing ] after element list
[在此错误处中断]
([object Object])
var json = eval("("+data+")");解析失败。
data是否拿到后台传递的值?
求各位大能解决。
------解决方案--------------------
楼主 你搞混淆了,,其实有两种方案的,
第一种:
为你的 opencallUser变量加上 get方法。然后 在配置的xml中的package中 extends="json-default",然后再在对应的action中配置result,这样子:<result type="json"></result>。
然后再回调函数中接收的参数就不用再 重新运算求出参数的内容,即 var json = eval("("+data+")"); 这步可以不用写了,struts2已经帮你做好了。
第二种:
就和你写的差不多,只不过 ,action应该return null,然后把对应的 配置去掉。就可以了 。。
我又发现个问题 :
datatype : "json",
你的dataType 的t是不是应该大写 ,,我不知道 没试过,你试试看。。Good luck~~
------解决方案--------------------response.getWriter().write(JsonUtil.getJson())
return null; 用这个转一下看看
------解决方案--------------------对啊,怎么是return SUCCESS的??