Неожиданный конец Json Input Ionic 3 и Angular 6 - PullRequest
0 голосов
/ 26 февраля 2019

Я видел много тем об этой ошибке, но я не мог найти никакого решения для моей.Я проснулся этим утром и передал свой код, и увидел, что при ошибке «Неожиданный конец ввода Json» я ничего не изменил в своем коде или версиях своих пакетов.Мой коллега и я работаем над этим проектом, и на его компьютере работают одинаковые коды, хотя у нас одинаковые пакеты и версии.

Проблема в том, что когда я запрашиваю сервер, он отвечает «статус 200 в порядке», но возвращаетпустое "_body", как вы видите на изображении ниже.

enter image description here

Вот подробности ошибки:

enter image description here

Пример кода:

     console.log(localStorage.getItem("usedURL"));
    return new Promise((resolve, reject) => {
        let headers = new Headers();

        headers.append('Accept', 'application/json');
        headers.append('Content-Type', 'application/x-www-form-urlencoded');

        this.http.post(localStorage.getItem("usedURL")+"/login", JSON.stringify({ "UserName": credentials.email, "Password": credentials.password }), { headers: headers})
            .subscribe(res => {
                console.log(res);
                resolve(res.json());
            }, (err) => {
                reject(err);
            });
    });

Однако я считаю, что он не освобождается с кодом.Поэтому я попытался очистить кеш, удалив модули узлов и переустановив их.Скопировал все коды от моего коллеги на мой компьютер, но проблема никогда не исчезала.Кто-нибудь знает, как я могу решить эту проблему?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Ошибка, которую вы получаете, является правильной с ответом, который вы получаете.

Под этим я подразумеваю, что ваше тело ответа - "", и если вы попытаетесь JSON.parse(""), вы получите ошибку, которую получаете,то есть,

ERROR SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)

Итак, мы выяснили, что ошибка, которую вы получаете, связана с полученным вами ответом.Теперь нам нужно знать, почему ваш API возвращает пустую строку?мы не знаем, так как вы не вставили свой код для входа в API.В любом случае вам нужно будет отредактировать свой вопрос и добавить свой логин-код API или создать новый вопрос.

0 голосов
/ 27 февраля 2019

Какую версию Chrome вы используете сейчас?Если вы используете последнюю версию, просто попробуйте понизить версию :).Не за что.

0 голосов
/ 26 февраля 2019

Если вы не видите изображения,

Ответ;

Response {_body: "", status: 200, ok: true, statusText: "OK", headers: Headers, …}
headers: Headers {_headers: Map(0), _normalizedNames: Map(0)}
ok: true
status: 200
statusText: "OK"
type: 2
url: "http://myapiurl//login"
_body:"" 
__proto__: Body

Подробности ошибки;

ERROR SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Response.Body.json (http.js:1091)
    at SafeSubscriber._next (account-auth-service.ts:109)
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:242)
    at SafeSubscriber.next (Subscriber.js:189)
    at Subscriber._next (Subscriber.js:129)
    at Subscriber.next (Subscriber.js:93)
    at XMLHttpRequest.onLoad (http.js:1591)
    at t.invokeTask (polyfills.js:3)
    at Object.onInvokeTask (core.js:4751)
...