ReactJS компонент, не загружающий мой размещенный API Heroku, будет загружать другие API - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть компонент, который вызывает API, который я развернул с помощью Heroku:

import React from 'react';

class ApiCaller extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      load: '',
    };
  }
  componentDidMount(){
    fetch('https://skincierge-data-api-1.herokuapp.com/api/v1/query/?SKIN_TYPE=oily&ANTI_AGEING=True&PRIMARY_CONCERN=wrinkles&BUNDLE_PRICE_LIMIT=350&SECONDARY_CONCERN=spots')
    .then(res => res.json())
    .then((data) => {
        this.setState({load: JSON.stringify(data)})
    })
    .catch(console.log)
  }

    render(){
        return(
        <div>
            {this.state.load}
        </div>
    )
    };
}

export default ApiCaller;

Он возвращает ответ json на вызов API внутри тега <div>. По какой-то причине он зависает, когда я вызываю свой API в Heroku, но работает, когда я вызываю все остальное (например, API Международной космической станции ).

Я часами устранял эту проблему и я в растерянности; Кто-нибудь знает, как получить данные из моего API?

Ответы [ 2 ]

1 голос
/ 11 февраля 2020

Проблема вызвана server side.

Она была заблокирована политикой CORS : Нет 'Access-Control-Allow-Origin'.

Итак, вы должны включить CORS в своем API.

0 голосов
/ 11 февраля 2020

Проблема в вашем бэкэнд API. это бросает политику CORS. Вы должны занести белый домен в ваш бэкэнд в белый список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...