反应本机POST方法问题

时间:2018-09-23 21:41:00

标签: json react-native post fetch fetch-api

我读过许多与我的问题类似的问题,但没有一个解决我的问题, 我的提取(Get Method)工作正常,但(POST METHOD)显示 JSON输入意外结束

  fetch('http://monasabat-app.com/Queries/sub_cat.php', {
        method: 'POST',
        headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({
          id: 3

        }),
      }).then((response) => response.json())
          .then((responseJson) => {
            this.setState({
                fsubCategory: responseJson.sub_cat
            })
          })
          .catch((error) => {
            console.error(error);
          });

}

这是我从POSTMAN得到的答复

{
"sub_cat": [
    {
        "id": "4",
        "sub_cat": "sbu1",
        "img_path": "url"
    },
    {
        "id": "9",
        "sub_cat": "sub2",
        "img_path": "url"
    }
]
}

1 个答案:

答案 0 :(得分:0)

即使您使用Content-Type: application/json来尝试postMan,也会注意到您没有任何反应。

POST /Queries/sub_cat.php HTTP/1.1
Host: monasabat-app.com
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: c60774f8-1aaa-4cf8-8aa3-abcab34b05e3

{id:3}

unexpected end of JSON input是因为它试图解析一个空字符串。 因此,这与获取无关,只需尝试以下操作即可获得正确的响应:

fetch('http://monasabat-app.com/Queries/sub_cat.php', {
    method: 'POST',
    headers: {
        'Content-Type':'application/x-www-form-urlencoded',
    },
    body: 'id=3',
})