在使用axios发送请求出现以下问题

新手上路,请多包涵

问题描述

请求一直处于 pending 状态, 后台也没有接受任何的数据

问题出现的环境背景及自己尝试过哪些方法

尝试过重写相关接口、查看接口,上午并没有这个问题

相关代码

粘贴代码文本(请勿用截图)
前端代码

  created() {
    axios({
      method: "post",
      url: "http://localhost:3000/api/user/login",
      data: {
        username: "xxxx",
        password: "xxxxxxxx",
      },
    })
      .then((res) => {
        console.log(res);
      })
      .catch((err) => {
        console.log(err);
      });
  },

后端

  let {
    username,
    password
  } = ctx.request.body
  let result = await userLoginSelect(username)
  if (result !== null) {
    let flag = decodePasswd(password, result.password)
    if (flag) {
      ctx.body = new Result("操作成功", allCode.SUCCESS, new ResultData('bearer ' + await sendToken(), await userSelectAll()))
    } else {
      ctx.body = new Result("用户名或密码错误", allCode.FAIL)
    }
  } else {
    ctx.body = new Result("该用户未注册", allCode.FAIL)
  }

你期待的结果是什么?实际看到的错误信息又是什么?

答: 希望大家能给个解决方案

阅读 4k
3 个回答

你确定网络是通的吗,这是第一个接口么,看下你写的router呢


这里是路由的配置


控制器

后续重写了一个测试接口并传递 data 参数,后台能够正确获取,为什么在这个项目中无法请求
一下为测试代码
// 后端接受参数
router.post('/user', async ctx => {
  const {
    username,
    password
  } = ctx.request.body

  console.log(username)
  ctx.body = {
    code: 200,
    msg: 'hello world',
    data: {
      username,
      password
    }
  }
})
// 这里为前端请求
this.$axios({
   url: "http://localhost:3000/user",
   method: "post",
   data: {
     username: "kite",
     password: "12345678901",
   },
  });

在设置body后设置一下状态码
ctx.status = 200;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题