后端servlet不能处理json的情况下前端怎么发请求?qs插件将对象转成key=value形式发送给后台

qs插件

首先呢说说为啥不用json ,嗯因为…懒 因为我自己写后端我还得拿过json字符串来转成集合的形式那不如前端发请求直接给我 key=value的形式呢 怎么做呢?

下依赖

根目录下集成终端打开

npm i qs -S //回车
npm i axios -S //回车

Vue工程的配置

Vue脚手架的main.js文件,导包


import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import elementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import qs from 'qs'//主要是它 
import axios from 'axios'//和它

Vue.use(elementUI)
axios.defaults.baseURL='http://localhost:8080' //从这给基本的baseURL
Vue.prototype.$http =axios
Vue.prototype.$qs = qs
Vue.config.productionTip = false;

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount("#app");

看过我以前文章的知道,我以前会再建一个util文件夹里面放request再把baseURL写进去…调用的时候再在dao层拼接url发请求…当然了细腻一点总是好的,不过有些繁琐,我这里就粗糙一点写了,毕竟省事儿,

奥 再说一点 我后端服务器是tomcat 所以baseURL是8080,前端工程用的8081,至于跨域问题 前面的文章说过大家可以参考servlet解决跨域问题,后端如何跨域?

看请求怎么发

举个简单的例子 queryData()

queryData() {
      this.$http
        .post(
          "/student",
          this.$qs.stringify({
            whattodo: "list",
            pageNumber: this.pageNumber,
            pageSize: this.pageSize,
            name: this.formInline.name,
            school: this.formInline.school,
          })
        )
        .then((response) => {
          this.tableData = response.data.data.rows;
          this.total = response.data.data.total;
        });
    }

在这里插入图片描述
哎效果就达到了,发送请求的格式是这样的

     this.$http
        .post(
          "servlet的地址",
          this.$qs.stringify({
           xxx:xxx
           xxx:xxx
           ...
           //key:value
          })
        )
        .then((response) => {
        	consol.log(response.data)
        });

总结

ok有了这个工具是不是vue代码更轻量化了呢,好吧…其实是就是懒,嘻嘻,也不怕后端不处理json了 至于后端如何处理json字符出 后面我会专门再写一篇文章 总不能让前端把活都干了吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

商朝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值