ajax中如何向前台返回list类型数据?前台如何解析这些数据???

详细说明下,最好举个例子。... 详细说明下,最好举个例子。 展开
 我来答
毓飞虎6O
推荐于2016-08-25
知道答主
回答量:8
采纳率:0%
帮助的人:6.8万
展开全部
前几天的一个例子,用到了jquery和json
前台:
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>//包
jQuery.ajax({
type: "post", //请求方式
url: "ajaxGetBookAction!getBookByBookCode.action", //Ajax访问地址
data: "book.bookCode="+a.value, //参数
dataType: "json", //指定返回数据类型
error: function () { //出现错误时运行
alert("出错了");
},
beforeSend: function () { //数据发送前报告
//alert("将要发送消息了:"+a.value);
},
success: function (data) { //返回成功时运行,主要接受结果
var msg = eval("("+data+")"); //解析数据为JS能认识的格式
alert(msg);
}
});

后台主要代码:
public String getBookByBookCode() {
book = bookService.getByBookCode(book.getBookCode());
JSONArray ja = JSONArray.fromObject(book); //封装为JSON格式
this.result = ja.toString(); //还是要转为String,result就是结果集
return SUCCESS;
}

配置struts.XML:
<package name="ajax-default" extends="json-default">
<action name="ajaxGetBookAction!*" class="cn.edu.suse.action.AjaxGetBookAction" method="{1}">
<result type="json"> //返回类型一定是JSON
<param name="root">result</param> //root照着写,result就是刚刚的结果集
</result>
</action>

你前台收到的就是result,在经过解析,装配成原来的格式。然后你就能使用了
</package>
Orange_Jinhuan
2012-05-02 · 超过15用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:35.1万
展开全部
对,采用json技术,需要修改struts-config.xml,修改返回类型为json,同时action中需要考虑序列化问题,相关事例变量的序列化。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一支花傲寒
2012-05-02 · TA获得超过321个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:156万
展开全部
一般是json解析
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式