接收Fetch API调用的JSON内容

时间:2018-12-10 20:49:46

标签: reactjs rest

我是React的新手,我有一个聊天UI,我正在其中尝试测试来自服务的API调用。 请假设调用本身具有正确的参数,即使不是,我也希望看到错误的JSON响应,而我只是在聊天中收到一条空白消息,作为对用户消息的响应。 调用通过Chrome中的Postman应用程序进行,但是当尝试通过UI响应将消息分配给var in react时,调用不显示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 :(得分:0)

fetch是一个JavaScript Promise,因此需要使用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的更多信息:fetch api examples

有关承诺的更多信息:Promises