Ответ Angular 4 Restful Post с «SyntaxError: Неожиданный конец ввода JSON в JSON.parse» - PullRequest
0 голосов
/ 06 сентября 2018

Ниже у меня есть следующий угловой сегмент, который, кажется, пытается обработать ответ как JSON, хотя 'httpOptionsText' является константой, определенной как:

const httpOptionsText = {
    headers: new HttpHeaders({
    'Content-Type': 'text/plain'
    })
}; 

addOrders(order, rootUri): Promise<DetailOrderbean[]> {
let body = JSON.stringify(order);
const url = rootUri + 'api/data/addDetailOrder?order=' + body;

return this.http.post<DetailOrderbean>(url, body, httpOptionsText)
    .toPromise()
    .then(res => {
           console.log(res);
    })
    .catch(this.handleError);
}

Кроме того, Java указывает

        response.setContentType( "text/plain");
        response.setHeader("Access-Control-Allow-Origin", 
        "http://localhost:4200");
        response.setHeader("Access-Control-Allow-Credentials","true");

Статус 200, поэтому я просто хочу использовать ошибку. Тем не менее, в случае фактической ошибки мне нужно обработать handleError:

private handleError(error: any): Promise<any> {
    console.error('An error occurred', error);
    return Promise.reject(error.message || error);
}

1 Ответ

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

Я наложил несоответствующую структуру на post (), который вызвал преобразование json. Это также можно увидеть по ошибке компиляции:

Типы свойства responseType несовместимы. Тип «text» не может быть назначен типу «json».

Это должно было сказать, что что-то не так с моим типом ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...