Как проанализировать ответ JSON и сохранить значения в массиве - PullRequest
1 голос
/ 14 октября 2019

Я использую асинхронную реакцию-выбор для загрузки параметров из ввода, переданного через API. Я получаю ответ JSON, в котором есть список с полем «FullName». Я пытаюсь просмотреть файл JSON и сохранить все имена полей в массиве. Массив затем возвращается в качестве параметров.

Внутри JSON есть список, и список содержит результаты, и для каждого номера есть полное имя

Формат ответа JSON:

version:
status:
-status code
-status message
error:
result:
-paginate
list:
-0
--FullName

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

class ReactSelectExample extends Component {
  constructor(props, context) {
    super(props, context);
    this.state = {
        selectedOption: {}
    }
  }

fetchData = (inputValue, callback) => {
    if (!inputValue) {
      callback([]);
    } else {
        setTimeout(() => {
  fetch("-----API URL----" + inputValue, {
    method: "GET",
  })
  .then((resp) => {
    return resp.json()
  }) 
----------------
  .then((data) => {
      const tempArray = [];
     data.forEach((element) => {
            tempArray.push({ label: `${element.fullname}`, value: element.FullName });
     });
     callback(tempArray);   
---------------       
  })
  .catch((error) => {
    console.log(error, "catch the hoop")
  });
});
}
}

 onSearchChange = (selectedOption) => {
    if (selectedOption) {

    this.setState({
        selectedOption
       });
    }
  };
  render() {
      return ( <div>
           <AsyncSelect
                value={this.state.selectedOption}
                loadOptions={this.fetchData}
                placeholder="Admin Name"
                onChange={(e) => {
                    this.onSearchChange(e);
                }}
                defaultOptions={false}
            />
      </div>)
  }

}

, когда я запускаю его и ищу все, что вижу, загружается, но никакие опции с именами не загружаются в. ошибка при проверке страницы я получаю сообщение об ошибке JSON.parse: unexpected end of data at line 1 of the column 1 of JSON data catch the hoop

1 Ответ

0 голосов
/ 08 ноября 2019

это была проблема политики CORS. Поскольку используемый API-интерфейс был внешним и не соответствовал моему URL-адресу, ответ JSON не был виден. Я переключился на вызов API на бэкэнде, потому что нет CORS для сервера к серверу.

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