axios的get、post请求在express的实现总结

首先get的配置就正常的很

 this.axios({
          method: "get",
          url: "http://localhost:8000/login",
          params: _this.loginForm
          })
        })
          .then((res) => {
            console.log(res.data[0]);
            
            alert("登陆成功");
          })
          .catch((error) => {
            alert("账号或密码错误");
            console.log(error);
          });

在这里,get就和params搭配即可,
而后台我用的express,
在这里获取前面表单输入的loginForm里面的username和password 就可以直接用req.query来得到

	var info = request.query;
  	let data = [
    	info.username
  	]

但post请求的就恶心了
他大概率得配置全乎了才行,反正我是这样的
一、

 this.axios({
          method: "post",
          url: "http://localhost:8000/login",
          data: _this.Qs.stringify({
              username:_this.loginForm.username,
              password:_this.loginForm.password
          })
        })

首先这里参数就不用params传了而是用data
而且必须要用qs来封装转为json
在main.js 中配置就好了

import Qs from 'qs'
Vue.prototype.Qs=Qs

然后我发现我又行了,跟get的后台配置一样搞上去,发现原来还是一坨shit
post这里获取参数又不用query 了而是用body
看了很博文都说,他们参数存储位置不同,get是在地址中post的是在请求体中,
而这里要用body又得npm一下body-parser
在在你express.js里配置

const bodyParser = require(‘body-parser’);
本来网上配置都是
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());
但vs就报警告吧,他过时了,
后面终于看到了一个大哥的
//bodyParser配置
app.use(express.urlencoded({ extended: false }))
app.use(express.json())

但我全部解决之后页面关掉了,懒得找了就叫大哥!
这样直接ok
但是
他又可能有错误
如果你发现传递的参数为空
那你就看看你的请求头信息是不是
application/json;charset=utf-8
如果是
那就将post请求的请求头都改成
application/x-www-form-urlencoded
原理具体是什么我不懂,我所理解就是他post,只会解析这一种方式的请求头。
最后你就完了,真完了
结束!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值