Вызов веб-сервиса выдает ошибку. в react-native

#react-native

#react-native

Вопрос:

Я вызываю веб-сервис следующим образом :

 fetch('url', {
            method: 'POST',
            headers: new Headers({
                          Accept: 'application/json',
                        'Content-Type': 'application/json', // <-- Specifying the Content-Type
                }),
            })
            .then((response) =>  response.text())
            .then(leaders => {
              console.log("leader = ", leaders);
}
  

но это выдает мне ошибку, подобную этой :

 Server was unable to process request. ---amp;> Data at the root level is invalid. Line 1, position 1.
  

Комментарии:

1. Что вы передаете в коллекцию?

2. О, я не передаю, я отредактирую вопрос. потому что мне не нужно передавать параметры. У сервера нет пароля или имени пользователя

3. Я отредактировал bro. Я использую этот код

4. Я думаю, проблема в передаче заголовка. Проверьте мой ответ и дайте мне знать, работает ли он или нет.

Ответ №1:

Попробуйте использовать приведенный ниже код:

   fetch('url', {
                method: 'POST',
      headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json',
      },
                body: JSON.stringify(collection) // <-- Post parameters
                })
                .then((response) =>  response.text())
                .then(leaders => {
                  console.log("leader = ", leaders);
    }
  

или вы можете напрямую вызвать, например:

    fetch(url)
      .then(response => response.json())
      .then(data => this.setState({ data }));
  

Комментарии:

1. второй не работает, он выдает ошибку. первый по-прежнему выдает ‘Серверу не удалось обработать запрос. —> Корневой элемент отсутствует.’

2. что это значит «отсутствует корневой элемент»?

3. Чего-то не хватает при подключении к вашему серверу

4. Как я могу это решить. Я не знаю, что мне следует добавить. мой веб-сервис не содержит пароля или имени пользователя. поэтому я не отправляю use ‘body’

5. Любая возможность отправить мне свой URL.