react-native fetch - 请求正文 - 意外的EOF

时间:2017-10-13 10:29:32

标签: react-native fetch-api

在我的本机应用程序中,我尝试使用body进行抓取请求。但是,我收到unexpected EOF的错误消息。实际上,请求已经发出,我的意思是我可以通过后端日志看到请求被发送,而在请求之后,它显示错误消息。

这是我的fetch方法。

var Url = "https://----------";
        return fetch(Url, {
            method: "POST",
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({'number': '11111111-'})
        })
            .then((response) => response.json())
            .then((responseJson) => {
                console.log("SEND_SMS RESULT: ",responseJson);
            })
            .done();

这是我得到的错误屏幕。

enter image description here

2 个答案:

答案 0 :(得分:1)

我会说它在这一行失败了:response.json() 您确定您的回复是有效的JSON吗?

尝试使用Postman测试回复,或在.catch(e => console.log(e))

之前添加done();

答案 1 :(得分:0)

var Url = "https://----------";
    return fetch(Url, {
        method: "POST",
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({'number': '11111111-'})
    })
        .then((response) => response.text())
        .then((responseJson) => {
             const resposeJson2 = responseJson.length ? JSON.parse(responseJson) : {};
            console.log("SEND_SMS RESULT: ",responseJson2);
        })
        .done();

您的服务器返回的是null而不是错误,不幸的是response.json()无法对null响应进行操作 您可以对此进行简短的研究,关键词是“处理来自api的空响应”