为什么我用jquery+struts2+json返回数据会跳到ERROR里面

script:$.ajax({type:"post",url:"json/selectValue",data:{"d.deptId":1},dataType:"json"... script:
$.ajax({
type:"post",
url:"json/selectValue",
data:{"d.deptId":1},
dataType:"json",
success:function(data){
alert("asd--");
var result="";
for(var i =0;i<data.list.length;i++){
var dd = data.list[i];
result+="<p>"+dd.placeId+"</p>";
result+="<p>"+dd.placeName+"</p>";
}
$("#msg").html(result);
},
error:function(){
alert("错误");
}
});
action:
public String selectValue(){
placeList = dzb.findPlacesByDeptId(d.getDeptId());
System.out.println(123);
return "success";
}

struts.xml
<package name="json" namespace="/json" extends="json-default">
<action name="selectValue" class="PositionDiaoZhiAction" method="selectValue">

<result name="success" type="json">
<param name="list">
list\[\d+\]\.placeId,
list\[\d+\]\.placeName
</param>
</result>

</action>

</package>

entity:
private Long placeId;
private Dept dept;
private String placeName;
private Set userses = new HashSet(0);
省略 get set方法

他能跳到方法里 查出来的值也正确 list也有get 和set方法
展开
 我来答
明月清风618
2013-08-23 · TA获得超过737个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:126万
展开全部
public String selectValue(){
placeList = dzb.findPlacesByDeptId(d.getDeptId());
System.out.println(123);
return "success";
}
你返回的是字符串,而你的ajax里配置的是json,自然错误,你可以这样写,如果执行成功的话就返回: out.write("{\"state\":\"" + result + "\"}"); //返回前台数据
然后你前台success:function(data){
$.each(data,function(index,value){
alert(value); //这里就会取得你的返回的json数据了
}
}
追问
这是ACTION  你看struts.xml好不好 。。。。。     我返回的是list类型OK?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
还让不人注册啊
2013-08-22
知道答主
回答量:56
采纳率:0%
帮助的人:23.9万
展开全部
dataType:"json", 这个是指返回的数据类型,你这里应该改成 dataType:"text",
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式