未捕获(承诺)TypeError:无法使用“in”运算符在中搜索“validateStatus”

新手上路,请多包涵

我得到 \*\* Uncaught (in promise) TypeError: Cannot use ‘in’ operator to search for ‘validateStatus’ in 5f8425a33a14f026f80133ed** 其中 5f8425a33a14f026f80133ed 是传递给 axios url 的 id

我想根据用户 ID 显示服务。我的网址在邮递员中完美运行,但是当我从 veux 商店访问它时,它给出了一个错误。

services.js(商店)

 import axios from 'axios';

const state = {
    services : {},
    status: '',
    error: null
};

const getters = {
    services : state => { return state.services }
};

const actions = {
      async fetchServices({commit}, userId) {
        let res = await axios.get('http://localhost:5000/api/services/displayUser' , userId)
        commit('setProducts', res.data)
        return res;
    }
};

const mutations = {
    setProducts (state, items) {
        state.services= items
    },
};

export default {
    state,
    actions,
    mutations,
    getters
};

这就是我调用动作的方式:

 computed: {
      ...mapGetters(["services"]),
    },
  methods: {
    ...mapActions(["fetchServices"]),
    getData(){
      this.fetchServices(this.user._id)
    },
  },
    async created() {
      await this.getProfile();
      await this.getData();
    }

axios 路由定义为

router.get('/displayUser', (req,res) => {
    const query = user =  req.body ;
    Services.find(query)
        .exec((err, services) => res.json(services))
})

错误截图:

错误截图

原文由 Jayashree K 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

GET 请求不应该有正文。使用查询参数,在路径中指定一个 id,或者使用 POST 请求。在查询参数的情况下,这可能看起来像这样:

 let res = await axios.get('http://localhost:5000/api/services/displayUser' , { params: { userId })

 router.get('/displayUser', (req,res) => {
    const query = user =  req.query;
    Services.find(query)
        .exec((err, services) => res.json(services))
})

原文由 Anatoly 发布,翻译遵循 CC BY-SA 4.0 许可协议

这对我也有用:

前端:Vue Js

 let res = axios.get("http://localhost:3000/api/v1/role/getRoleByName",
{ params: { roleName: "name of role you want to send as params" },
});

在后端:Node Js

 router.get('/getRoleByName', (req,res)=>{
  let roleName = req.query.roleName;
  roleModule.getRoleByName(roleName).then(data =>{
    response.json(res,data)
  }
    ).catch(err=> {
      response.badRequest(res, err);
    })
});

原文由 manel kacem 发布,翻译遵循 CC BY-SA 4.0 许可协议

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