Angular 4 Restful Post响应,带有“SyntaxError:JSON.parse上JSON输入的意外结束”

问题描述 投票:0回答:1

下面我有以下Angular段似乎试图将响应作为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);
}
json angular
1个回答
0
投票

我将一个结构不适当地强制转换为强制json转换的post()。这也可以通过编译错误看出:

属性“responseType”的类型不兼容。类型'“text”'不能分配给''json''。

这应该告诉我,我的返回响应类型出现了问题。

© www.soinside.com 2019 - 2024. All rights reserved.