Angular 2正在删除HTTP POST响应中的JSON花括号

时间:2017-09-08 16:25:25

标签: json angular

你好我有一个问题,我在Angular 2中向一个API发出POST请求,当我进行HTTP调用时,Angular 2返回一个响应,但它不是预期的JSON响应,而是返回一个简单的响应删除了所有花括号的文本。

示例:

instead of {"type" : "string"} I get "typestring". 

这是我的代码:

    let headers = new Headers({ 'content-type': 'application/json' });
let options = new RequestOptions({headers: headers});
this.http.post('api url', body, options).subscribe(data => console.log(data));

我知道有一个data.json()函数但是当我尝试它只是给出一个

Unexpected token N in JSON at position 0 error. 

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试这个 service.ts

import { Observable } from 'rxjs/Rx';

@Injectable()
export class MyService {
    createRecored(body: any): Observable<any> {
        let headers = new Headers({ 'content-type': 'application/json' });      
        let options = new RequestOptions({headers: headers});
        this.http.post('api url', body, options)
            .map(res => res.json())
            .catch(error => Observable.throw(error));
    }
}

<强> component.ts

export class MyComponent {
    constructor(private myService: MyService ) {}
    doPost() {
        this.myService.createRecored(body)
            .subscribe(data => {
                  console.log('data', data);
             }
    }
}