私はAngular 2から始めています。私はnode.jsサーバーへのポストコールを行い、データを更新したいと思います。これは私のサービスのコードです:Angular 2で適切なhttpポストコールを行うには?
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リクエストを使って直接試みていますが、angle2コードは正常に表示され、サーバーの問題を意味する404が見つかりません。 – tibbus
jquery ajax librarieをインポートできますか? –
ああ、確かに、jQueryを怒りと一緒に使用するのはちょっと難しいことです。いいえ、悲しいことに、それをインポートすることはできません:http://stackoverflow.com/questions/30623825/how-to-use-jquery-with-angular2。しかし、HTMLヘッダーにjQueryスクリプトを追加して、コンソールからリクエストを試すことができます:) – tibbus