Angular2 Http.post() 错误回调的奇怪行为
Strange behaviour of Angular2 Http.post() error callback
我正在使用 Angular2/Http
执行 post 请求并向服务器发送一些数据:
let myheaders = new Headers();
myheaders.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: myheaders });
let resourceStr = '{"foo": "bar"}';
let foo = this.http.post('http://127.0.0.1:5000/api/invalid', resourceStr, options)
.subscribe(
data => {
console.log(data);
},
error => {
console.warn(error.statusText);
});
如果服务器响应 NOT FOUND (404)
(例如,我的 URL 是错误的),Observable 的错误回调将被调用,但 statusText 将被设置为 Ok
。但是,如果我将 headers 中的 Content-Type
从 application/json
更改为 text/plain
,将调用错误回调并将 statusText 设置为 NOT FOUND
作为它应该。
有人遇到同样的问题吗?
PS: 我正在使用 Angular2 rc2
原来 rc2 版本有一个错误。 ~2 天前发布的 rc3 版本修复了这个问题。
我正在使用 Angular2/Http
执行 post 请求并向服务器发送一些数据:
let myheaders = new Headers();
myheaders.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: myheaders });
let resourceStr = '{"foo": "bar"}';
let foo = this.http.post('http://127.0.0.1:5000/api/invalid', resourceStr, options)
.subscribe(
data => {
console.log(data);
},
error => {
console.warn(error.statusText);
});
如果服务器响应 NOT FOUND (404)
(例如,我的 URL 是错误的),Observable 的错误回调将被调用,但 statusText 将被设置为 Ok
。但是,如果我将 headers 中的 Content-Type
从 application/json
更改为 text/plain
,将调用错误回调并将 statusText 设置为 NOT FOUND
作为它应该。
有人遇到同样的问题吗?
PS: 我正在使用 Angular2 rc2
原来 rc2 版本有一个错误。 ~2 天前发布的 rc3 版本修复了这个问题。