Я начинаю с Angular 2, и я хочу сделать почтовый вызов на моем сервере node.js для обновления данных. Это код в моей службы:Как сделать правильный HTTP-вызов в Angular 2?
updateEmployee(id : string, firstName? : string, lastName? : string){
let body : string = JSON.stringify({ "firstName" : "test", "lastName" : "testtwo"});
return this.http.post(this._employeesUrl + id, body)
.map(res => res.json())
.catch(this.handleError);
}
Мой код маршрута API:
exports.update = function(req, res) {
Employee.model.findById(req.params.id).exec(function(err, item) {
if (err) return res.apiError('database error', err);
if (!item) return res.apiError('not found');
console.log(req);
var data = (req.method == 'POST') ? req.body : req.query;
item.getUpdateHandler(req).process(data, function(err) {
if(req.body.firstName){
item.firstName = req.firstName;
}
if(req.body.lastName){
item.lastName = req.body.lastName;
}
if (err) return res.apiError('create error', err);
res.apiResponse(
200
);
});
});
}
Когда я делаю пост вызова с почтальоном, все работает отлично, но в угловых 2 я, кажется, не получите параметр body. Как это делается правильно? Я много пробовал, но никто из них не работал.
Я попытался добавить заголовки в настройках, но это не решает проблему:
Я бы попытался сделать это с помощью jQuery ajax или прямо с простым простым запросом javascript, просто чтобы убедиться, что все в порядке, потому что код углового2 выглядит хорошо, и я вижу, что вы не нашли 404, что означает проблему с сервером. – tibbus
Могу ли я просто импортировать jquery ajax librarie? –
ах, правда, немного сложно использовать jQuery с angulr. Нет, к сожалению, вы не можете просто импортировать его: http://stackoverflow.com/questions/30623825/how-to-use-jquery-with-angular2. Но вы можете просто добавить скрипт jQuery в заголовок HTML и попробовать запрос с консоли :) – tibbus