2016-06-21 2 views
0

Я использую 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

+0

Если вы вызываете error.json() и используете это, он возвращает объект с ключом сообщения, который возвращает «Not Found». В вышеприведенном случае это может быть так же просто, как error.json(). Message – JacobS

ответ

0

Оказывается, там была ошибка в версии rc2. Версия rc3, выпущенная ~ 2 дня назад, исправляет эту проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^