Получать JSON-контент Fetch API Post call - PullRequest
0 голосов
/ 10 декабря 2018

Я новичок в React, и у меня есть пользовательский интерфейс чата, в котором я пытаюсь проверить вызов API из службы.Пожалуйста, предположите, что сам вызов имеет правильные параметры, и даже если нет, я хочу увидеть сообщение об ошибке JSON, и я просто получаю пустое сообщение в чате в качестве ответа на сообщение пользователя.Вызов работает через приложение Postman в Chrome, но при попытке присвоить результат вызова переменной в реакции он не отображает значение ответа JSON при попытке отправить сообщение через чат пользовательского интерфейса.

Это функцияпользовательское сообщение передается этой функции, а затем сразу же после получения запроса API должен появиться ответ:

submitMessage(e) {
    e.preventDefault();

    var s = fetch('https://***', {
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
            'Authorization': '****',
        },
        body: JSON.stringify({ inputText: 'hi' })
    });

    this.setState({
        chats: this.state.chats.concat([
            {
                username: "newUser",
                content: <p>{ReactDOM.findDOMNode(this.refs.msg).value}</p>
            },
            {
                username: "responsePlace",
                content: s
            }
        ])
    });
}

1 Ответ

0 голосов
/ 11 декабря 2018

fetch - это обещание javascript, поэтому его необходимо разрешить с помощью then

fetch(...) .then(response => response.json()) // resolves json content of the response .then(data => console.log(data)) // your actual data as a javascript object .catch(ex => console.log(ex)) // exception handler in case anything goes wrong in the fetch

Подробнее о получении API: выборке API примеры

Подробнее об обещаниях: Обещания

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