java 接口后台乱码

	@RequestMapping(value = "/XlxKpBillAction",  method={RequestMethod.POST, RequestMethod.GET})
	public void XlxKpBillAction(HttpServletRequest request, HttpServletResponse response, 
			Integer pageno, Integer pages, String data,String appid) throws UnsupportedEncodingException {}

刚刚入职心的公司,公司接口形式如同上面,但是我利用ajax调用有的时候发现传递到后台的参数为null,有的时候把中文传递到后台出现乱码,针对这个问题,也是是让自己费神了好久,首先我们看如何来解决中文乱码的问题,我们找到tomcat,并且找到server.xml这个文件

增加一个URIEncodeing发现中文传递到后台之后就不乱码了

那么我们接下来看另外的一个问题问题get和post请求在传递调用这样的接口传递参数的时候存在着怎么样的区别

function fpkj() {
	var data = {
		"data" : {
			'FJH' : "1",
			'XHF_NSRSBH' : '41010499306',
			'XHFMC' : '河南心公司',
			'XHF_DZDH' : '河南新乡经济开发区(小冀镇) 0373-5592888',
			'XHF_YHZH' : '建行新乡县支行41001556710050200935',
			'GHFMC' : '丹有限公司',
			'GHF_NSRSBH' : '91217322',
			'GHF_DZDH' : '东1号',
			'GHF_SJ' : '',
			'GHF_EMAIL' : '',
			'GHF_YHZH' : '中国农业79',
			'KPY' : '',
			'SKY' : '',
			'FHR' : '',
			'KPHJJE' : '33000.00',
			'HJBHSJE' : '33000.00',
			'HJSE' : '0.00',
			'BZ' : '',
			'salesorderlist' : "[{'XMMC':'心有肥黑力旺','XMDW':'吨','XMSL':'33','XMDJ':'1000','SPBM':'1070050100'," +
					"'SL':'0','SE':'0.00','ZXBM':'2700000004','YHZCBS':'1','LSLBS':'1'," +
					"'XMJE':'33000.00','ZZSTSGL':'免税','GGXH':\'40kg 有机质≥45,总养分≥5\'}]"
		}
	}
	//"data=" + encodeURI(JSON.stringify(data)),
	$.ajax({
		url : 'http://localhost:8080/xxdzfpanine/XlxKpBillAction.do',
		type : 'post',
		async : true,
		data :{"data":JSON.stringify(data)},
		dataType : 'json',
		success : function(data) {
			console.log(data);
		},
		error : function(data) {
			console.log('接口不通');
		}
	});

在ajax里面也可以使用:data :"data="+JSON.stringify(data),这种拼接字符串的形式,并且对应get,post请求都是可以的

希望对你有所帮助

猜你喜欢

转载自blog.csdn.net/datouniao1/article/details/89236996