Java 使用JQuery ajax发布表单数据时出现无效参数错误
我正在开发一个webapplications,在其中我必须显示搜索结果而不提交表单。所以我使用了jQuery的Java 使用JQuery ajax发布表单数据时出现无效参数错误,java,jquery,spring,spring-mvc,Java,Jquery,Spring,Spring Mvc,我正在开发一个webapplications,在其中我必须显示搜索结果而不提交表单。所以我使用了jQuery的$.ajax()函数。看一看 $('#search').click(function() { alert("submit handler has fired"); $.ajax({ url: 'cityResults.htm',
$.ajax()
函数。看一看
$('#search').click(function() {
alert("submit handler has fired");
$.ajax({
url: 'cityResults.htm',
data: $('#cityDetails').serialize(),
type: 'json',
success: function(data){
alert(data);
},
error: function(jqXHR, textStatus, errorThrown){
alert('error: ' + textStatus + ': ' + errorThrown);
}
});
return false;//suppress natural form submission
});
这是我的HTML标记。我使用的是SpringMVC3框架
<form:form id="cityDetails" method="post"
action="cityResults.htm">
<table class="tdbgact border">
<tr>
<th>State: <span class="required">*</span></th>
<td>
<form:select path = "state" id = "state">
<form:option value="">---Select</form:option>
<form:options items="${stateList}"/>
</form:select>
</td>
<th><form:checkbox path="status" value="Active"/>Active</th></td>
<td colspan="5"><th><form:checkbox path="status" value="Inactive"/>Inactive</th></td>
<tr>
<td colspan="2"><input type="button" id="search" class="buttonSubmit" value="City" /></td>
</tr>
</tr>
</table>
声明:*
---挑选
活跃的
不活跃的
这是我的控制器代码
@RequestMapping(value = "/cityResults.htm", method = RequestMethod.POST)
public @ResponseBody String schemeResults(ModelMap model ,@ModelAttribute("SpringWeb")CityMaster bean,
BindingResult result) {
functionName = "cityResults";
List<CityMaster> cities = new ArrayList() ;
logger.info("In "+className+" - "+functionName+" ");
if(result.hasErrors())
{
}
else{
ApplicationContext context =
new ClassPathXmlApplicationContext("Beans.xml");
MasterJDBCTemplate dao =
(MasterJDBCTemplate)context.getBean("masterJDBCTemplate");
String[] cityStatus = bean.getStatus();
if(cityStatus == null)
{
}
cities = dao.cityList(bean);
model.addAttribute("cityList", cities );
}
return cities.get(0).getCity();
}
@RequestMapping(value=“/cityResults.htm”,method=RequestMethod.POST)
public@ResponseBody字符串schemeResults(ModelMap模型,@modeldattribute(“SpringWeb”)CityMaster bean,
BindingResult(结果){
functionName=“cityResults”;
List cities=new ArrayList();
info(“在“+className+”-“+functionName+”)中);
if(result.hasErrors())
{
}
否则{
ApplicationContext上下文=
新的ClassPathXmlApplicationContext(“Beans.xml”);
MasterJDBCTemplate dao=
(MasterJDBCTemplate)context.getBean(“MasterJDBCTemplate”);
字符串[]cityStatus=bean.getStatus();
if(cityStatus==null)
{
}
cities=dao.cityList(bean);
model.addAttribute(“城市列表”,城市);
}
返回cities.get(0.getCity();
}
我在警告框中得到一个错误,说参数无效。这意味着我的ajax调用失败。这意味着我必须更改控制器代码。我需要做什么改变?或者我还遗漏了什么。这些链接可能会帮助您映射控制器并在响应体中返回json
在控制台中查看您从ajax callI中得到的信息,我没有在ajax调用中包含POST类型。感谢链接的帮助!