如何使用jquery ajax保存Spring表单数据而不刷新页面?

时间:2013-04-29 13:29:26

标签: jquery ajax spring

我尝试this示例...学生类对象在控制器端获取。我们可以直接使用它。但是这里的页面已经提交了。

这里我希望它使用jquery ajax调用post方法并将数据作为类对象发布。而不是发送每个输入字段值。

我怎样才能实现这一目标?

例如,我想将发布请求发送到此控制器

@RequestMapping(value = "/addStudent", method = RequestMethod.POST)
   public String addStudent(@ModelAttribute("SpringWeb")Student student, 
   ModelMap model) {
      //here will be my code to use student object....

      return "result";
   }

使用这个Spring表单..

<form:form method="POST" action="/HelloWeb/addStudent">
   <table>
    <tr>
        <td><form:label path="name">Name</form:label></td>
        <td><form:input path="name" /></td>
    </tr>
    <tr>
        <td><form:label path="age">Age</form:label></td>
        <td><form:input path="age" /></td>
    </tr>
    <tr>
        <td><form:label path="id">id</form:label></td>
        <td><form:input path="id" /></td>
    </tr>
    <tr>
        <td colspan="2">
            <input type="submit" value="Submit"/>
        </td>
    </tr>
</table>  
</form:form>

2 个答案:

答案 0 :(得分:2)

我将回答一个现有问题.. jQuery AJAX submit form

要使Spring的模型属性映射起作用,您只需确保表单输入名称保持一致。逐步将传统表单提交转换为ajax样式表单提交的最佳方法是捕获表单提交事件,序列化表单并进行ajax调用。由于所有参数名称和值都将保持一致,因此您的后端代码将按原样运行。

注意:您必须以不同的方式处理响应,因为普通表单提交会返回成功或错误页面,而使用ajax则需要其他内容。但由于这个问题与表单提交有关,因此不会详细介绍响应处理。

希望这能回答你的问题。

答案 1 :(得分:1)

您必须将表单值转换为json,并使用和ajax post请求将数据提交给服务器。

我是使用jQuery的toObject插件完成的。和JSON stringify函数。