急!!!!! Ext发送的Ajax在前台怎么接受后台传来的JSON对象(List集合) 修改我的代码也行,好了再加分

会的话发下前台的script里面的Ajax代码和后台的Action代码(我现在用的struts1)————————————————————————————————————... 会的话发下前台的script里面的Ajax代码和后台的Action代码(我现在用的struts1)
————————————————————————————————————
前台的代码:
Ext.Ajax.request({
url : '<%=request.getContextPath()%>/eHR.pfmc.baseSet.period.action.PeriodAction.do?method=insertPeriod',
method:'post',
params : {
name : name,
startdate : startdate,
closedate : closedate,
typeName : typeName
},
success : function(response,config) {
var json=Ext.util.JSON.decode(response.responseText);
}
});
-————————————————————————————————————
后台的代码:
(list是一个集合)
QueryResult result = new QueryResult(list);
response.setContentType("text/json;charset=UTF-8");
response.getWriter().write(result.toJSONString());
展开
 我来答
zhoutianzhe
推荐于2017-09-01 · 超过10用户采纳过TA的回答
知道答主
回答量:19
采纳率:0%
帮助的人:24.1万
展开全部
给你一个我的例子吧。
后台:
我这里的User有id,name,password。添加它们的get ,set方法。
response.setContentType("text/plain;charset=UTF-8");
User user=new User(1,"zhou","123");
List<User> list=new ArrayList<User>();
list.add(user);
JSONArray json=JSONArray.fromObject(list);
response.getWriter().print(json.toString());
前台:
Ext.Ajax.request({
url:xxurl,
success:function(response){
var result=Ext.decode(response.responseText);
Ext.Msg.alert('信息',result[0].id+result[0].name+result[0].password);
},
failure:function(response){},
params:{name : 'value'}
})
因为这里我只添加了一个User,所以取的时候就是第一个了result[0],这个其实就是一个user了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a9112003
2010-12-30 · TA获得超过172个赞
知道答主
回答量:137
采纳率:0%
帮助的人:85.1万
展开全部
前台:
var json=JSON.parse(response.responseText);
for(var i=0;i<json.length;i++){
var username=json[i].username;
}
username就是前台要的值

后台:
再设计一个Item公共类
private String username; //get、set方法

Java:
for(.list.length;..){
Po po=(Po)list.get(i);
Item item=new Item();
item.setusername();
list.add(item);
}
Ajax(list);

Ajax方法
public void Ajax(List list)throws IOException,ParseException{
ServletActionContext.getResponse().setContentType("text/html");
ServletActionContext.getResponse().setContentType("utf-8");
ServletActionContext.getResponse().setContentType("Cache-Control","no-cache");
JSONArrayjson=JSONArray.fromObject(list);
ServerletActionContext.getResponse().getWriter().printf(json.toString());
ServerletActionContext.getResponse().getWriter().getWriter.flush();
ServerletActionContext.getResponse().getWriter().getWriter.close();
}

后台这个json.toString() 和 前台json[i].username 就是你想知道怎么接受的机制
其中需要一个json2.js文件,留个地址,我可以发给你,最后祝你成功!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
axkajvq
2011-01-03 · TA获得超过644个赞
知道小有建树答主
回答量:606
采纳率:0%
帮助的人:146万
展开全部
比如你返回的数据是
{
result:{
listA:[
{
a:'',
b:'',
listB:[

]
}
]
}
}
那遍历代码如下
var o = Ext.decode(response.responseText);
var listA= o.result;
for(var i=0;i<listA.length;i++){
var listB = listA[i]["listB"];
for(var j=0;j<listB.length;j++){
var objB = listB[j];
alert(objB.c);
}
}
----
注意:代码未测试。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式