vue+axios+qs 发送ajax请求 axios响应中文乱码 axios发送post请求400错误

准备:

1.引入vue.js

2.引入axios.js

3.引入qs.js

这三个js文件都可以通过npm安装到本地然后引入html文件中

<div id="app">
    {{message}}
    <button @click="sayHello">hhh</button>
</div>
<script>
    const {createApp} = Vue
    const qs=Qs

    createApp({
        data() {
            return {
                message: 123
            }
        },
        methods: {
            sayHello() {
                axios({
                    url: "",
                    method: 'POST',
                    headers: {'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'},
                    data: qs.stringify({"roleid": 3, "rolename": "HR", "state": 0, "memo": "人事专员"}),
                    responseEncoding: 'utf8'
                }).then((res) => {
                    alert(res.data.code+":"+res.data.msg);
                })
            }
        }
    }).mount("#app")

 

 

当前情况下axios响应返回的json中中文是????这个没有办法在前端解决,在后端解决需要通过配置HttpMessageConvert将字符编码改为UTF-8,

这里我使用的是Gson 同样的也可以使用jackson 同样的配置 可以通过

在IDEA中搜索AbstractJsonHttpMessageConverter类的子类查询
 1 <!--配置mvc的注解驱动-->
 2     <mvc:annotation-driven>
 3         <mvc:message-converters>
 4             <bean class="org.springframework.http.converter.StringHttpMessageConverter">
 5                 <constructor-arg value="UTF-8"/>
 6             </bean>
 7             <bean class="org.springframework.http.converter.json.GsonHttpMessageConverter">
 8                 <property name="defaultCharset" value="UTF-8"/>
 9             </bean>
10         </mvc:message-converters>
11     </mvc:annotation-driven>

 

posted @ 2022-07-05 19:36  马里奥爱蘑菇  阅读(699)  评论(0编辑  收藏  举报