bboss mvc处理ajax get方法中文乱码方式纪实

简介: bboss mvc处理ajax get方法中文乱码方式纪实: 尹标平(122054810)  22:46:16 关于胡雅辉同学所提ajax get方式提交中文参数乱码问题解决办法: $.ajax({ url:'${pageContext.
bboss mvc处理ajax get方法中文乱码方式纪实:
尹标平(122054810)  22:46:16
关于胡雅辉同学所提ajax get方式提交中文参数乱码问题解决办法:
$.ajax({
					url:'${pageContext.request.contextPath}/utf8/generalAjaxGet.page',
					contentType : "application/x-www-form-urlencoded",    
					type:'get',
					dataType:'json',
					data:{
							id:id,
							name:encodeURIComponent(name),
							remark:encodeURIComponent(remark)
						},
					success:function(json){
						alert(json.data);
					}	
				});

在jsp页面的js函数中,对包含中文的name,remark参数采用encodeURIComponent函数编码,例如:remark:encodeURIComponent(remark)

服务器端SimpleEntity对象中的属性name和remark分别添加@RequestParam注解,并指定decodeCharset属性为UTF-8:
@RequestParam(decodeCharset="UTF-8")
	private String name;
	@RequestParam(decodeCharset="UTF-8")
	private String remark;

问题即可解决,目前只想到这个办法,至于其他方法暂时没有想到
尹标平(122054810)  23:00:35
同时服务器端控制器方法要改为,这样数据到客户端后就不会有乱码:
public @ResponseBody AjaxResponseBean generalAjaxGet(SimplEntity entity, HttpServletRequest request,HttpServletResponse response){
		AjaxResponseBean ajaxResponseBean=new AjaxResponseBean();
		ajaxResponseBean.setStatus("success");
		try {
			ajaxResponseBean.setData(entity);

		
		} catch (Exception e) {
			ajaxResponseBean.setStatus("error");
			ajaxResponseBean.setData(e.getMessage());
		}
		return ajaxResponseBean;
	}

这样MVC框架的Json转换插件自动会把数据转换为json格式响应到客户端,客户端获取json结果数据的最终方式为:
$.ajax({
					url:'${pageContext.request.contextPath}/utf8/generalAjaxGet.page',
					contentType : "application/x-www-form-urlencoded",    
					type:'get',
					dataType:'json',
					data:{
							id:id,
							name:encodeURIComponent(name),
							remark:encodeURIComponent(remark)
						},
					success:function(json){
						alert(json.data.name);
						alert(json.data.remark);
					}	
				});

尹标平(122054810)  23:03:09
同时要确保bboss-mvc的httpMessageConverters中有以下配置项:
<property class="org.frameworkset.http.converter.json.MappingJacksonHttpMessageConverter"/>

尹标平 共享文件 1 个 23:04:00
  utf8.zip
下载 | 查看全部
尹标平(122054810)  23:05:17
改造后的程序在共享文件中的uft8.zip,可以在共享区下载
尹标平(122054810)  23:06:31
或者到以下地址下载:
http://www.bbossgroups.com/file/download.htm?fileName=utf8.zip
目录
相关文章
|
9天前
|
JavaScript 前端开发 容器
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
13 0
|
1月前
|
前端开发
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
|
1月前
|
移动开发 前端开发 安全
Ajax跨域的所有方法(最详细带使用教程!!!)
Ajax跨域的所有方法(最详细带使用教程!!!)
|
2月前
|
JavaScript 前端开发 Java
jquery ajax+spring mvc上传文件
jquery ajax+spring mvc上传文件
|
2月前
|
数据采集 Web App开发 前端开发
Python爬虫之Ajax分析方法与结果提取#6
Ajax分析方法、Ajax结果提取【2月更文挑战第20天】
36 0
Python爬虫之Ajax分析方法与结果提取#6
|
2月前
|
XML 前端开发 JavaScript
AJAX get() 和 post() 方法
AJAX(Asynchronous JavaScript and XML)是一种用于创建快速和动态网页的技术,它允许使用 JavaScript 和 XMLHttpRequest 对象在不重新加载整个页面的情况下向服务器发送请求和接收响应。jQuery 提供了几个用于 AJAX 操作的方法,包括 .ajax()、.get() 和 .post()
14 1
|
3月前
|
前端开发 JavaScript
|
3月前
|
JSON 前端开发 JavaScript
JavaScript学习 -- ajax方法的POST请求
JavaScript学习 -- ajax方法的POST请求
29 0
|
3月前
|
XML JSON 前端开发
AJAX 中创建 XMLHttpRequest 对象的方法和常用属性、方法
AJAX 中创建 XMLHttpRequest 对象的方法和常用属性、方法
38 0
|
5月前
|
XML 前端开发 JavaScript
什么是Ajax和jquery
什么是Ajax和jquery
38 0