Vue-Resourse发送请求后台接收参数乱码问题

Vue-Resourse发送请求后台接收参数乱码问题,第1张

前台和后台乱码问题可以说是家常便饭,一般两端定义好使用同一个字符集是不会有问题,但是昨天遇见一个小坑,分享一下。

先说环境吧,后台tomcat+spring,标准的SSM框架。tomcat配置文件和我知道能设置编码的地方都设置成UTF-8。之前使用jQuery请求正常,无乱码现象,因为最近使用vue,jQuery各种意义上的很多功能都使用不上,所以找到了vue-resourse,最强大的是这个还带有拦截器功能,嘛,可以在每次请求前后做一些 *** 作,用处诸君可以随便想象。

然后问题来了,一切都那么美好,使用简单,功能强大,可是,可是他居然中文乱码,这就很奔溃了,网上找了大量的教程,官方文档也努力找,可是依然没找到相关问题。so,只能自食其力咯。

乱码嘛,一开始喊衡想的当然是服务器的编码,确认再三,应该是没问题的,之前jQuery请求都是正常的,那好么,观察jQuery和vue-resourse发送的请求有何不同,嘛,其实也就content-type后面多了一个charset:utf-8。很简单,我立马想到了拦截器,每次请求前给request设置个请求头,大概是这样写的。

可以,很简单。嗯,看起来应该就可以了,可是试一下发现,这个Content-Type怎么完全没变啊,然后又是一阵折腾,比如设置其他请求头都有吵谨效,可是Content-type却无效,嗯,继续看文档,发现Vue.http.options.emulateJSON=true这一句,有个emulateJSON属性,准确意思没弄懂干嘛的,反正如果设置成false后台连参数都接不到了,全都是null。

说了这么多发现好多废话,嗯,好吧。直接说最后解决办法嘛,嗯,vue-resourse嘛,毕竟比较简单,问题也很明显了,就是设置了emulateJSON属性他会自动设置Content-Type请求头,而且比他给的api调用更靠后,升渗基so,灵机一动去他的js文件里看看咯。

找到引用js的位置,我的是这样的

找到这些js文件,打开搜索application/x-www-form-urlencoded,然后手动再后面加上charset:utf-8

嗯。暂时OK。不知道将来打包出来会不会有其他问题。

在Windows系统环境变量>系统变量中新建一个环境变量MAYA_UI_LANGUAGE值为en_US,换回英文界面卜基试试,如果想用中文,MAYA_UI_LANGUAGE值改为zh_CN

我没遇到您迅桥说的问题,看看型昌谨您的系统设置,是不是语言设置上的问题

解决方法:1.oracle账户登录linux2.找到该路径usr/local/odriver/autovue/jvuew_c/windows/fonts,将windows上C:\Windows\Fonts的字体copy到该目录下镇槐,3.到/usr/local/odriver/autovue/bin/fonts该路径,找到docfont.map文件,修改该配置文件,添加配置项,4.重启AutoVue服务,先培旅携配伏停jetty,再停autovue服务,然后先启autovue服务,再起jetty


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/tougao/12164620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存