source

미포함(약속)TypeError: 'in' 연산자를 사용하여 다음 위치에서 'validateStatus'를 검색할 수 없습니다.

itover 2022. 11. 21. 22:18
반응형

미포함(약속)TypeError: 'in' 연산자를 사용하여 다음 위치에서 'validateStatus'를 검색할 수 없습니다.

** 언캐치 (약속)TypeError: 'in' 연산자를 사용하여 5f8425a33a14f026f80133ed**에서 'validateStatus'를 검색할 수 없습니다. 여기서 5f8425a33a14f026f80133ed는 acios URL에 전달된 ID입니다.

사용자 ID에 따라 서비스를 표시하고 싶습니다.내 URL은 우체부에서는 완벽하게 작동하지만 veux 스토어에서 접속하면 오류가 발생합니다.

services.services(스토어)

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))
})

에러 스크린샷:

에러 스크린샷

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))
})

저도 마찬가지였어요.

프론트 엔드:Vue Js

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

백엔드: 노드 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);
    })
});

이건 axios.post의 어리석은 실수입니다.

async addTodo({ commit }, title) {
      try {
        const res = await axios.post(BASE_URL, { title, complete: false });
        commit("newTodo", res.data);
      } catch (err) {
        console.log(err.message);
      }
    },

언급URL : https://stackoverflow.com/questions/64755537/uncaught-in-promise-typeerror-cannot-use-in-operator-to-search-for-validat

반응형