工作中项目使用的是前端的Vue框架,请求用的是自己封装好的axios,api请求均已封装成方法,在页面中使用时直接import 然后写在自己的自定义触发方法中即可。 然而遇到一个棘手的问题就是有一个超级大的表单无论怎么调都是错误,服务端不能接受到参数,然后试着换成原生的页面请求后,服务端可以收到请求和参数,但是没有设置请求头token以至于服务端不认数据,所以在main.js中设置了axios的一些默认属性,网上的类似这种:

axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

事实上,有在http.js的interceptors.request拦截请求中有设置过“Authorization”,这样在main.js文件中设置后出错了,冲突了吧~
算了,咋整? 总得能搞的通吧, 只好在单页面中引入存储token的"js-cookie",注:js-cookie是一款方便易用的的cookie插件,npm安装引入即可
然后在页面的原生axios请求中配置请求头诸如Authorization,Content-Type之类的。如下:

this.$axios({
          method:"post",
          url:"http://192.168.2.203:9001/OrderApi/AddOrder/AddOrderByNetwork",
          data:params,            //参数
          headers:{
              "Authorization":Cookies.get('Admin-Token')     //请求头携带的token
          }
      })

okay,可以了~~~又可以愉快的往下走了, 表示虽然能提交响应了,但是大点的项目不建议这样写.

Logo

前往低代码交流专区

更多推荐