Spring和Ajax

我可以将Spring表单标签库与Ajax结合使用吗?我无法在控制器内部检索表单输入参数。它们始终为 。

实际上,逻辑上是永远不提交表单。但是然后我只能将字符串发送到控制器,而不能将对象发送到映射到Spring 的表单提交中。

接受 *

<form:form method="POST" commandName="clinicBean">

Clinic Name: <form:input path="name" type="text" /><br/>

Clinic Address: <form:input path="address" type="text"/><br/>

<input type="button" value="Create Clinic" onclick="clinicAjax()"/>

</form:form>

Ajax函数调用

function clinicAjax(){

alert('Inside Clinic Ajax Method');

$.ajax({

url: 'clinicAjax',

type: 'POST',

success: alert('Ajax Successful')

});

}

@RequestMapping(value="clinicAjax",method=RequestMethod.POST)

public @ResponseBody String createClinic(@ModelAttribute("clinicBean") Clinic clinic){

System.out.println("Ajax call successful");

System.out.println(clinic);

System.out.println(clinic.getName());

System.out.println(clinic.getAddress());

return "SUCCESS";

}

在System.out.println()语句中,它始终为 。

回答:

问题在于您没有在任何地方对表格进行序列化,因此不会将其发送到服务器。

将您的JavaScript代码更改为:

function clinicAjax(){

alert('Inside Clinic Ajax Method');

$.ajax({

url: 'clinicAjax',

data: yourFormElement.serialize(); /* i.e. $('#formId').serialize(); */

type: 'POST',

success: alert('Ajax Successful')

});

}

yourFormElement用代表您的表单的jQuery对象替换,它应该可以工作。

以上是 Spring和Ajax 的全部内容, 来源链接: utcz.com/qa/404719.html

回到顶部