Как сделать так, чтобы http получал запрос на сайт drupal 7 из приложения reactjs - PullRequest
0 голосов
/ 26 февраля 2020

Я создаю приложение headless-drupal с использованием reactjs. Мое приложение в основном работает на локальном хосте: 3000 при выполнении http-запросов к удаленному сайту drupal 7. Я включил CORS и смог сделать запрос hppt POST для входа в систему, у меня есть идентификатор сеанса, токен сохранен в локальном хранилище моего браузера, но когда я пытаюсь сделать запросы на тот же сервер, используя superagent, но возвращенный ответ пуст

{node: Array (0)} node: Array (0) длина: 0__proto__: Array (0) proto : Конструктор объектов: ƒ Object () defineGetter : ƒ defineGetter () defineSetter : ƒ defineSetter () hasOwnProperty: ƒ hasOwnProperty () lookupGetter : ƒ lookupGetter () lookupSetter : 101 lookupSetter () isPrototypeOf: ƒ isPrototypeOf () propertyIsEnumerable: ƒ propertyIsEnumerable () toString: ƒ toString () valueOf: ƒ valueOf () toLocaleStringStString: 1021 * proto : ƒ proto () set proto : ƒ proto ()

Я также сделал аналогичный запрос к тот же сервер, но в другой конечной точке, и он вернул эту ошибку:

Ac cess to XMLHttpRequest в 'http://website.com/endppoint-json' от источника 'http://localhost: 3000 ' был заблокирован политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: не имеет HTTP статус нормально клиент. js: 890 GET http://website.com/endppoint-json net :: ERR_FAILED

Вот как выглядит мой код:

superagent
      .get('http://website.com/endpoint-json')
      .set('Authorization', `Bearer ${this.getAuthenticationToken()}`)
      .end((err, res) => {
        if(err) {this.setState({errorMessage: 'Cannot retrieve geofences from server'}); return;}
        //this.setState({geofences: res.body});
        console.log(res.body);
      });

пожалуйста, что я Неправильно, это мой первый раз, когда я делаю такой http-запрос, и это действительно трудное время, пожалуйста, помогите, а не оскорбляйте, пожалуйста.

1 Ответ

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

Я попробовал это, хотя это не было отправлено на сайт drupal, я думаю, что это круто

async componentDidMount() {
    const url = "https://website.com/fence-json_test";
    const response = await fetch(url);
    const data = await response.json();
    console.log(data);
  }
...