急!!!!! 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()); 展开
————————————————————————————————————
前台的代码:
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()); 展开
3个回答
展开全部
给你一个我的例子吧。
后台:
我这里的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了。
后台:
我这里的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了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前台:
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文件,留个地址,我可以发给你,最后祝你成功!
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文件,留个地址,我可以发给你,最后祝你成功!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如你返回的数据是
{
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);
}
}
----
注意:代码未测试。。
{
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);
}
}
----
注意:代码未测试。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询