response.body возвращает значение NULL, а response.data возвращает значение undefined в моем приложении реакции + express - PullRequest
0 голосов
/ 30 января 2020

Приложение. js в React

  const url = "http://localhost:3001?address="+this.state.location ;
    fetch(url , {
      mode: 'no-cors' // 'cors' by default
    }).then((response)=>{
        console.log(response.data) //undefined
        console.log(response.body) //null
  })
}

приложение. js в моем приложении узла

app.get('/weather' , (req , res)=>{
    if(!req.query.address){
        return res.send({
            error : 'Please, provide an address' // want to get this value in my react app after fetch.
        })
    }
    geoCode(req.query.address , (error , {longitude , latitude , place}={})=>{
        if(error)
        {
            return res.send({
                error // want this value
            })
        }
        getWeather (latitude  ,longitude , (error , {temperature , humidity})=>{
            if(error)
            {
                return res.send({
                   error // want this value
                })
            }
           // want these values
            return res.send({
                temperature ,
                humidity ,
                place
            })


        })
    })

})

I хочу получить сообщение об ошибке или данные, отправленные из моего приложения узла в моем приложении реакции. Но reponse.data и response.body не очень хорошо работают в моем приложении реакции.

1 Ответ

0 голосов
/ 30 января 2020

API-вызов должен быть.

  const url = "http://localhost:3001?address=" + this.state.location;
  fetch(url, {
    mode: 'no-cors'
  })
  .then(res => res.json())
  .then((response) => {
    console.log(response.data)
    console.log(response.body)
  })

см. Дополнительную информацию о вызове API-интерфейса в реакции -> вызов API-вызова

...