Попытка получить данные API от бэкэнда до веб-интерфейса - PullRequest
0 голосов
/ 24 июня 2019

Я создал форму ввода из моего интерфейса React, и я смог отправить эти данные на мой сервер с помощью fetch.Отсюда я могу получить к нему доступ через мой app.get () и передать данные формы в мою функцию API, и в конечном итоге, когда я консоль регистрирую результат, я получаю результаты, которые мне нужны.Моя проблема сейчас в том, что я изо всех сил пытаюсь найти способ сделать эти данные доступными из моего интерфейса.

Я довольно застрял в отношении того, что делать в этот момент, я подумал, что если я сделаю что-то вроде ответа.send () внутри функции API, которая может работать, но это не так.Насколько мне известно, когда вы получаете данные, вы можете отправить их в определенную конечную точку с помощью запроса POST, а затем выполнить запрос get к этой конкретной конечной точке, чтобы получить их обратно, но не похоже, что я могу сделать это вэто дело.

//From my front end react page, the front end data is a form:
handleSubmit(event: any){
 event.preventDefault();
 let location: string = this.state.location
 fetch('/', {
   method: 'POST',
   headers: {
     'Content-type': 'application/x-www-form-urlencoded'
   },
   body: location
 })
}


//From my server file:
app.use('/', express.static(path.resolve('client', 'dist')));
app.get('/', (req: any, response:any) => {
let city = Object.keys(req.body)[0]
 if (city.match(/[a-zA-z]/g)){ 
 console.log('string')
  api.locationToCoords(city, (result:Object) => {
   console.log(result)
   //response.send()
  })
 } else {
 //Geolocation
 let x = city.split(',')
 api.retrieveData(x[0], x[1], ((results:any) => {
   console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~')
   console.log('results: ',results)
 }))
}});

1 Ответ

0 голосов
/ 24 июня 2019

Простой fetch похож на это, вы можете использовать это, чтобы получить данные на интерфейс

fetch('your URL to fetch data', {
   method: 'POST',
   headers: {
        'Content-Type': 'application/json',
        // 'Content-Type': 'application/x-www-form-urlencoded',
   },
   body: formData //if any
})
  .then(function(response) {
    return response.json();
  })
  .then(function(myJson) {
    console.log(JSON.stringify(myJson));
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...