Реагируйте на проблемы с собственным методом POST - PullRequest
0 голосов
/ 24 сентября 2018

Я прочитал много вопросов, похожих на мои, но ни один из них не решил мою проблему, моя выборка (Метод получения) работает нормально, но (МЕТОД ПОСТА) показывает Неожиданный конец ввода 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);
          });

}

И это ответ, который я получил ПОСТМАН

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

1 Ответ

0 голосов
/ 24 сентября 2018

Даже если вы попытаетесь использовать postMan с помощью Content-Type: application/json, вы заметите, что не получили никакого ответа.

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',
})
...