API возвращает 200 в почтальоне, но 404 в устройстве - PullRequest
0 голосов
/ 20 апреля 2020

Я создал простой API, используя сервер koa и базу данных postgresql для своего приложения, и протестировал его с помощью почтальона и браузера, отлично работает в обоих случаях. Сейчас я пытаюсь получить данные в своем собственном приложении (тестирование на реальном устройстве), но он возвращает мне следующий ответ:

{"_bodyBlob": {"_data": {"__collector": [Object], "blobId": "1bbc1ba3-a1b4-442e-ba85-d09d5d54f4e6", "offset": 0, "size": 9}}, "_bodyInit": {"_data": {"__collector": [Object], "blobId": "1bbc1ba3-a1b4-442e-ba85-d09d5d54f4e6", "offset": 0, "size": 9}}, "headers": {"map": {"content-length": "9", "content-type": "text/plain; charset=utf-8", "date":
"Mon, 20 Apr 2020 12:26:12 GMT"}}, "ok": false, "status": 404, "statusText": undefined, "type": "default", "url":
"https://a1cd97c8.ngrok.io/posts/,function%20dispatchAction()%20%7B%20%20%20%20[native%20code]%7D"}

Я использую сопоставление URL-адреса ngrok, потому что без https мои запросы будут отклонены. .

Вот мой код для запроса:

const searchURL = React.useState('https://a1cd97c8.ngrok.io/posts/');    
const fetchPosts = async () => {
        console.log('fetching');
        fetch(searchURL, {
          method: 'GET',
          headers: {
            Accept: 'application/json',
            'Content-Type': 'application/json',
          },
        })
          .then((response) => {
            console.log('response: ', response);
            return response.json();
          })
          .then((json) => console.log('TESTOUTPUT', json))
          .catch((err) => console.log('error: ', err.message));
      };

Я получаю сообщение об ошибке в блоке catch:

error:  JSON Parse error: Unexpected identifier "Not"

Что я делаю не так?

1 Ответ

2 голосов
/ 20 апреля 2020

useState hook возвращает массив, поэтому вы должны деструктурировать результат

const [searchURL, setSearchURL] = React.useState('https://a1cd97c8.ngrok.io/posts/');
...