ajax提交数据到Struts2中的Action

Allanheqing 2011-06-01 04:37:53
大家好,打扰下大家哈。。

小弟有个地方不明白了.就是我用AJAX来提交页面上输入框的值,不用表单(form)。但是Action中的user始终获得不到值。

在Action 中式这样这写的

public class userinfoActon extends ActionSupport{
Userinfo user;

//提供get和set方法
......
Public String execute(){
consumebiz.getResult(user);
return SUccess;
}

jsp页面是这样写的
<input type="test" name="user.username"/>
<input type="passsword" name="user.password"/>

}

在ajax这样写的

if (window.ActiveXObject) {
xmlReq = new ActiveXObject("Microsoft.XMLHTTP");
} else {
xmlReq = new XMLHttpRequest();
}
if (xmlReq) {
xmlReq.open("post", "getres.action, true);
xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlReq.onreadystatechange = callback;
xmlReq.send(null);
}

不知道该怎么解决,请大家帮忙哈..谢谢了
...全文
577 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
rookie926 2011-06-02
  • 打赏
  • 举报
回复
用jquery的$.ajax提交写起来很方便
mxyxyxxy 2011-06-02
  • 打赏
  • 举报
回复
同意,可不可以传个对像过去?然后再后台接收
daisy_8706 2011-06-02
  • 打赏
  • 举报
回复
网上jquery的ajax一大堆 你随便找个一看就明白了
Allanheqing 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 mxyxyxxy 的回复:]
同意,可不可以传个对像过去?然后再后台接收
[/Quote]

就是传个对象,要省很多事的。就是不知道怎么传的.
Allanheqing 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xszyou 的回复:]
大哥,ajax一定要自己发送参数的,不然js解释器怎么知道你想发送那些参数。如果全发送其它就不要用异步了


明白了底层的js怎么写后建议你用jquery框架写ajax,如果只为表单验证可以用jquery.validation.js,十分简化
[/Quote]

谢谢。。我不是在做验证,是在做那个多条件查询..你说说的那个$.ajax提交数据到后台到底是怎么弄的,能不能给个实例看看啊?谢谢了..
Elim-Zhang 2011-06-01
  • 打赏
  • 举报
回复
ls是正解,你都没传数据到服务器,怎么能获取到数据呢
xszyou 2011-06-01
  • 打赏
  • 举报
回复
大哥,ajax一定要自己发送参数的,不然js解释器怎么知道你想发送那些参数。如果全发送其它就不要用异步了


明白了底层的js怎么写后建议你用jquery框架写ajax,如果只为表单验证可以用jquery.validation.js,十分简化
Allanheqing 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 huangcaihua 的回复:]
<input type="test" name="username"/>
<input type="passsword" name="password"/>

xmlReq.send("username="+document.getElementById("username").value+"&password="+document.getElementById("password"……
[/Quote]

大哥,谢谢,你说的比较有用些,但是我还是有个疑惑向你那样写的话,如果字段多了,就有点复杂了,我现在要做的一个查询系统,查询条件有7,8个,那样写会不会有点笨哦?
Allanheqing 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 star123045 的回复:]
直接用jquery的ajax方法比较简单啊
[/Quote]

大哥能说下那个方法怎么用啊?
huangcaihua 2011-06-01
  • 打赏
  • 举报
回复
<input type="test" name="username"/>
<input type="passsword" name="password"/>

xmlReq.send("username="+document.getElementById("username").value+"&password="+document.getElementById("password").value);


然后在action中添加username和password的set get方法即可

basin_yi 2011-06-01
  • 打赏
  • 举报
回复
你的AJAX请求是否进入action方法?
你是想直接将标签的name属性命名为你javabean的一个对象属性值中?这样没得到值么?
Bannings 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 apple12655 的回复:]

<input type="test" name="user.username"/>
<input type="passsword" name="user.password"/>

貌似记得name里面的值不能这样子写,要么就直接写上username,不能用XX.xxxx之类的表示、


<input type="test" name="username"/>
<input type……
[/Quote]
可以这么写的
LazyCat2222 2011-06-01
  • 打赏
  • 举报
回复
<input type="test" name="user.username"/>
<input type="passsword" name="user.password"/>

貌似记得name里面的值不能这样子写,要么就直接写上username,不能用XX.xxxx之类的表示、


<input type="test" name="username"/>
<input type="passsword" name="password"/>
Bannings 2011-06-01
  • 打赏
  • 举报
回复
把数据连在地址栏后面试试,用input.name做key
star123045 2011-06-01
  • 打赏
  • 举报
回复
直接用jquery的ajax方法比较简单啊

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧