你好我有一个问题,我在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.
感谢任何帮助。
答案 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);
}
}
}