如何在ajax中取得struts2里的数据

配置文件、action类、ajax、该有的jar包都有了我就是不知道在action里returnsuccess后怎样在js的ajax里拿到存在action里的数据。。... 配置文件、action类、ajax、该有的jar包都有了
我就是不知道在action里return success后怎样在js的ajax里拿到存在action里的数据。。
展开
 我来答
rocwong1023
2012-08-27 · 超过17用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:32.1万
展开全部
其实Struts2已经把json充分的封装好了,如何你的Action中有一个类的实例变量(注意数据的多对多,多对一映射)Message message,只要在你的Struts2的xml文件中配置:
<result type="json">
<param name="root">message</param>
</result>
在js中即可直接拿到该对象:$.ajax({
type:"POST",
url:"${ctx}/message_recommend.action",
success:function(data){
alert(data.title);
}
});
附注:message 中有title属性
奶爸猎人
2012-08-27 · 超过28用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:61.1万
展开全部
前台代码示例:
$.ajax({
url:"你请求的url",
type:"post",
data:{
"变量名":“value”
}
success:function(data){
//data便是action返回的数据
}
})

后台代码示例

public void ajaxRequest(){
try{

HttpResponse response = servletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
PrintWrite pw = response.getWriter();
pw.write("action中的数据");
pw.flush();
pw.close();
}catch(Exception e){
}

}

如果你要返回一个对象,建议采用json数据格式。
追问
public class StuLoginAction extends ActionSupport
我是一个java类,继承了ActionSupport 而且
public String execute() 方法需要返回String,
HttpResponse response = servletActionContext.getResponse();
不能创建response对象。。。。
返回的就一个字符串,可以不用json
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7c132319
2012-08-26 · TA获得超过315个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:223万
展开全部
你不能returun success哦,要用response.write才能让ajax接收到数据。

不然你返回的是html。
追问
那return null?
追答
分两种情况哈:
1、你确实需要html,你就return到一个页面上,前台接受到以后直接修改html
2、以json格式返回。

看需要。不能一棒子说死
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wdx5514335
2012-08-26 · 超过10用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:34万
展开全部
留名,同样想知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式