以json字符串形式发送
1.js方面
以json形式进行发送
注意:contentType是要发送的数据类型,而Type是要接收的数据类型
function loadContentShow() {
$.ajax({
contentType:"application/json;chartset=utf-8",
scriptCharset:'utf-8',
type:"post",
url:"/Admin/add/result",
data:arrayToJsonString($('#myform').serializeArray()) ,
success:function (datas) {
$("#contentShow").html(datas);
return false;
},
error:function () {
alert("请求失败");
}
});
}
//将表单数组转化为json字符串
//formArray转json字符串
function arrayToJsonString(formArray){
var dataArray = {};
$.each(formArray,function(){
if(dataArray[this.name]){
if(!dataArray[this.name].push){
dataArray[this.name] = [dataArray[this.name]];
}
dataArray[this.name].push(this.value || '');
}else{
dataArray[this.name] =this.value || '';
}
});
return JSON.stringify(dataArray);
}
2.web.xml方面
需要在web.xml中设置编码过滤器
<!--编码过滤器-->
<filter>
<filter-name>springUtf8Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>springUtf8Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.springMVC方面
3.1 controller方面
@RequestMapping(value ="/Admin/add/result", method = RequestMethod.POST)
ModelAndView AdminAddResult(@RequestBody String param) {
//使用fastjson对json字符串进行格式转换
Map map = (Map) JSON.parse(param);
ModelAndView modelAndView = new ModelAndView("result");
modelAndView.addObject("result", param);
returnmodelAndView;
}
3.2 springMVC配置方面
<!--设置使用注解的类所在的jar包-->
<context:component-scanbase-package="com.myblog.controller"/>
//以下是到数据库时乱码
4.数据库配置方面
#一定不要忘了在url后面加上编码方式
#jdbc
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_blog?useUnicode=true&characterEncoding=UTF-8
jdbc.uid=xxx
jdbc.pwd=xxx
jdbc.maxActive=20
jdbc.initialSize=0
jdbc.maxWait=60000