>

웹 개발에 익숙하지 않고 json 본문이 첨부 된 가져 오기 요청을하는 데 문제가 있습니다. 지금 본문없이 페치 호출을하면 페치가 내 API (연결된 로그)에 연결하고 데이터베이스에서 값을 검색하여 문제없이 프런트 엔드로 다시 보냅니다. 그러나 가져 오기 요청에 두 번째 매개 변수로 본문 객체를 추가하면 가져 오기가 API에 연결되지 않습니다. 오류가 출력되지 않고 기다릴뿐 아니라 내 API는 연결된 오류를 기록하지 않습니다.

코드는 다음과 같습니다. 이것은 작동합니다 :

//this.props.chosenInterests is an object
    async sample(){
        //url-friendly string
        const university = this.props.chosenUniversity.replace(/\s/, '+');
        const query = '/interest/' + university;
        try{
            const response = await fetch(query, {});
            if(response.ok){
                const jsonResponse = await response.json();
                globalVar = jsonResponse;
                this.forceUpdate();
            }
            else{
                throw new Error('Request Failed!');
            }
        }
        catch (error){
            console.log(error);
        }
    }

그렇지 않은 동안 :

//this.props.chosenInterests is an object
    async sample(){
        //url-friendly string
        const university = this.props.chosenUniversity.replace(/\s/, '+');
        const query = '/interest/' + university;
        try{
            const response = await fetch(query, {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                    'Accept': 'application/json'
                },
                body: JSON.stringify(this.props.chosenInterests)
            });
            if(response.ok){
                const jsonResponse = await response.json();
                globalVar = jsonResponse;
                this.forceUpdate();
            }
            else{
                throw new Error('Request Failed!');
            }
        }
        catch (error){
            console.log(error);
        }
    }

여기 내 API가 있습니다 :

//already mounted router at /interest
interestRouter.get('/:university', (req, res, next) => {
    const university = req.params.university.replace(/\+/g, ' ');
    console.log('Connected.');
    db.all('SELECT * FROM Table WHERE Table.university = $university', {$university : university},
        (error, result) => {
            if(error){
                next(error);
            }
            else{
                res.json(result);
            }
        }
    )
});

도움이 될 것입니다. 왜 오류가 발생하지 않는지 혼란스러워합니다.

  • 이전 security - oauth2 흐름을 사용한 이메일 기반 등록이 가능합니까?
  • 다음 javascript - CSS (다중 ID) + (클래스)에 대한 올바른 구문은 무엇입니까