最近在学习前端基础,在学习的时候,使用Ajax进行表单提交的时候,发现整合的Spring MVC会报出415错误,经过学习,重新将Spring MVC和fastJson整合。
1,使用Ajax进行提交
$.ajax({
// 请求方式
type: "POST",// 请求格式
contentType : "application/json",// 请求地址
url: "addBean.do",// 请求数据
data: JSON.stringify(beanModel),// 返回数据格式
dataType: 'json',timeout: 600000,success : function(data) {
console.log("SUCCESS: ",data);
display(data);
},error : function(e) {
console.log("ERROR: ",e);
display(e);
},done : function() {
console.log("DONE");
}
})
2,引入fastJson.jar包。
3,配置xml
text/html;charset=UTF-8
application/json
WriteMapNullValue
QuoteFieldNames
4,编写controler代码
@ResponseBody
@RequestMapping(value="/addBean.do",method = RequestMethod.POST)
public String addCrawlerBean(@RequestBody BeanModel beanModel) {
//相关业务代码
return "Result";
}
说明:@ResponseBody表示的是返回的为直接传输的数据,将不会再去匹配先关的JSP了。@RequestBody会去自动组装为相关的bean数据。
PS:坑。。。。。。。。。。。。。。 在提交的时候,发现,ajax提交的请求无法请求到Spring MVC里面去!!!奇怪了。但是,在请求的JavaScript函数当中,如果用一个alert弹出页面,即可请求到服务器去。于是乎,抓包发现,ajax的post请求的状态为NS_Binding_Aborted。经过网上的查证,发现是还没有响应这个ajax的时候,这个页面被刷新了。后来才发现,原来form表单中,不能使用button这个标签,而是要用input标签,type=“button”,这样不会刷新页面,于是每次都可以请求成功了。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。