急!jsp struts2 ajax action 的问题
我有一个按照ID查询对象的action,在页面上点击一个链接就显示这个被查出来的对象。但是每次点击页面都会刷一下,我现在想点击这个连接在不刷新页面的情况下查询到这个对象并...
我有一个按照ID查询对象的action,在页面上点击一个链接就显示这个被查出来的对象。但是每次点击页面都会刷一下,我现在想点击这个连接在不刷新页面的情况下查询到这个对象并且显示。但是我不知道action中该如何改?我在jsp页面上怎么得到action传回来的值呢?请高手们支招啊。越详细越好。先谢谢了。
展开
3个回答
展开全部
为避免为产生XMLHttpRequest对象困扰,建议采用jquery的ajax访问方式。
$.ajax({
type: "POST",//请求类型
url: "some.php",//请求action地址
data: "name=John&location=Boston",//要发送的数据
success: function(msg){//成功后执行方法
}
//至于还有什么fail之后的也可以加
});
ps:以下方法在后台没有采用、 java对象与json对象之间的转换,直接输出字符串,转化对象另议。
如果你查询结果只有一个对象 建议直接存成普通格式的字符串(直接存值),因为你自己知道在页面要取什么值;原字符串:a,b,c;success方法中进行:方法1,分割为数组{a,b,c};方法2:用substring方法。
如果查询结果有多个对象,并且对二维数组熟的话也可以采用以上方法(问题是看上去不清楚,别人看半天也看不懂你为啥这样写),还有可以采用json的方式(单个格式:{ "name": "cxh", "sex": "man" })。接着操作同方法1,然后把每组字符串转换成json对象:var obj = str.parseJSON(); //str=:{ "name": "cxh", "sex": "man" });主要就是访问方式区别 var name=obj.name.这样别人就知道输出的啥。json做这么多就是为了看起来容易,仅此而已。
$.ajax({
type: "POST",//请求类型
url: "some.php",//请求action地址
data: "name=John&location=Boston",//要发送的数据
success: function(msg){//成功后执行方法
}
//至于还有什么fail之后的也可以加
});
ps:以下方法在后台没有采用、 java对象与json对象之间的转换,直接输出字符串,转化对象另议。
如果你查询结果只有一个对象 建议直接存成普通格式的字符串(直接存值),因为你自己知道在页面要取什么值;原字符串:a,b,c;success方法中进行:方法1,分割为数组{a,b,c};方法2:用substring方法。
如果查询结果有多个对象,并且对二维数组熟的话也可以采用以上方法(问题是看上去不清楚,别人看半天也看不懂你为啥这样写),还有可以采用json的方式(单个格式:{ "name": "cxh", "sex": "man" })。接着操作同方法1,然后把每组字符串转换成json对象:var obj = str.parseJSON(); //str=:{ "name": "cxh", "sex": "man" });主要就是访问方式区别 var name=obj.name.这样别人就知道输出的啥。json做这么多就是为了看起来容易,仅此而已。
展开全部
如果你要用ajax作得话 你可以这样做
$.ajax()=function({
type='post',
url='xxx.do',
data='id='+id,
success=function(msg){
在这里可以这样做,把下面大括号里的代码用字符串形式在action中用response传回来
然后调用eval函数执行,代码如下:
- -- {
-- - Stringbuffer sb = new StringBuffer(var obj = new Object();
--- obj.id = "",obj.name="",就是说你的对象中有什么属性就给obj写上
--- );
----- response.getWriter.print(sb.toString());
------}
也就是说拿到了msg;那么调用函数eval(msg);
然后可以拿到obj这个script对象,然后你就知道怎么操作了吧
}
});
$.ajax()=function({
type='post',
url='xxx.do',
data='id='+id,
success=function(msg){
在这里可以这样做,把下面大括号里的代码用字符串形式在action中用response传回来
然后调用eval函数执行,代码如下:
- -- {
-- - Stringbuffer sb = new StringBuffer(var obj = new Object();
--- obj.id = "",obj.name="",就是说你的对象中有什么属性就给obj写上
--- );
----- response.getWriter.print(sb.toString());
------}
也就是说拿到了msg;那么调用函数eval(msg);
然后可以拿到obj这个script对象,然后你就知道怎么操作了吧
}
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
QQ:376773211,加QQ说吧,这说不清楚啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询