通过ajax把form表单里的数据提交到服务器非常简单,把form序列化下就可以了。
jquery中与平时唯一的不同就是把data这样serialize()
<script type="text/javascript"> function test(){ $.post("<%=basePath%>/HelloWorld.action",$("#form1").serialize(),function(data,status){ alert("数据:" + data + "\n状态:" + status); }); } </script> <form id="form1" method="post"> First name: <input type="text" name="firstName" value="Bill" /><br /> user.username <input type="text" name="user.username" value="userName"/><br /> user.name.showName <input type="text" name="user.name.showName" value="nameShow"/><br/> </form> <input type="button" name="b" value="测试Ajax" onclick=test()>
public void ajax() throws IOException{ PrintWriter out= ServletActionContext.getResponse().getWriter(); out.println("OK"); System.out.println(user.getUsername()); System.out.println(user.getName().getShowName()); System.out.println("................"); }
对,你没有看错,我用的struts框架做的测试。。form表单中要提交的数据必须有name属性,可以说跟平时的一样。