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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急!!!!! Ext发送的Ajax在前台怎么接受后台传来的JSON对象(List集合) 修改我的代码也行,好了再加分相关的知识,希望对你有一定的参考价值。

会的话发下前台的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());

参考技术A 给你一个我的例子吧。
后台:
我这里的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了。本回答被提问者采纳
参考技术B 前台:
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文件,留个地址,我可以发给你,最后祝你成功!
参考技术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);


----
注意:代码未测试。。

asp 前台ajax提交的blob数据在后台怎么接受

我做了图片预览并上传程序,但360上图片内容换成为base64编码,然后我把base64转换文件对象(blob),现在不知道怎么抓取数据?前台提交的数据格式是 Blob(23943) size: 23943, type: "image/jpeg"
在后台formsize=request.totalbytes
formdata=request.binaryread(formsize)用这个可以抓取,但得不到正确的文件内容,

你不应该上传blob,这是前端的对象.除非你在后端完美的模拟一个blob类来解析你接收的数据.
你应该直接post图片的字节流或者base64字符串或者使用使用前后端协调的协议来封装数据,这也是序列化的意义所在.
参考技术A 应该还需要base64解码才行的。

以上是关于急!!!!! Ext发送的Ajax在前台怎么接受后台传来的JSON对象(List集合) 修改我的代码也行,好了再加分的主要内容,如果未能解决你的问题,请参考以下文章

急 ajax 调用问题

asp 前台ajax提交的blob数据在后台怎么接受

django 接受 ajax 传来的数组对象

ajax传值和返回值问题: 能够从前台传值给后台,但是后台的值怎么传给前台呢? 代码见补充(求详细解答

Flask04 后台获取请求数据视图函数返回类型前台接受响应数据

servlet怎么将JSON 串返回给前台页面,前台又通过啥方式接受并显示出来呢?有没有实例参考下