update(url: string, data: Object): Promise<Application> {
return this.http
.put(url, JSON.stringify(data), {headers: this.headers})
.toPromise()
.then(() => data)
.catch(this.handleError);
}
Используя описанную выше функцию с действительным URL результатов в следующем за исключением:Использование http.put() приводит к: «400 Bad Request для URL исключения»
EXCEPTION: Uncaught (in promise): Response with status: 400 Bad Request for URL: null
Я использую @angular/http
модуль для выполнения запроса. Странная вещь об этой проблеме заключается в том, что другие методы модуля работают нормально (GET
, и DELETE
).
Я использую следующий заголовок 'Content-Type': 'application/json'
и InMemoryWebApiModule
, чтобы высмеять ответ.
Вызов функции put с жестко закодированным значением, например, в следующем примере, приводит к тому же исключению.
this.http
.put('app/applications/1', JSON.stringify(data), {headers: this.headers})
.toPromise()
.then(() => data)
.catch(this.handleError);
Это не все, что вам нужно знать: «для URL: null»? – Matt
Вы уверены, что 'update()' вызывается с фактическим значением 'url'? –
Да, жесткая кодировка URL-адреса в функции приводит к той же проблеме. –