ajax post到后台中文乱码问题
以json字符串形式发送
1.js方面 以json形式进行发送 注意:contentType是要发送的数据类型,而Type是要接收的数据类型
function loadContentShow() {
//将表单数组转化为json字符串 //formArray转json字符串 function arrayToJsonString(formArray){
3.springMVC方面 3.1 controller方面 @RequestMapping(value ="/Admin/add/result", method = RequestMethod.POST) ModelAndView AdminAddResult(@RequestBodyString param) {
//以下是到数据库时乱码 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
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(@RequestBodyString 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
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。