Я использую Angular2/Http
сделать пост запрос и отправить некоторые данные на сервер:Странное поведение 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
. Однако, если я изменю Content-Type
в заголовках от application/json
до text/plain
, будет вызван обратный вызов ошибки, а statusText будет установлен на NOT FOUND
, как предполагается.
У кого-то такая же проблема?
PS: Я использую Angular2 RC2
Если вы вызываете error.json() и используете это, он возвращает объект с ключом сообщения, который возвращает «Not Found». В вышеприведенном случае это может быть так же просто, как error.json(). Message – JacobS