私は少し新しくなっています(JavascriptのコールバックとES6を含む)。 NodeJS + Express + MongoDBを使用しています。
私はアイテムを更新するためにAjax関数を呼び出しています。成功したAjax呼び出しは決して実行されません。ここで
ここで(リアクトから呼び出された)私のAjax呼び出し
editBug : function(bug){
console.log('about to edit bug with these values',bug);
$.ajax({
url:'/api/bugs',
method: 'PUT',
data:bug
})
.done((jqxhr) => {
console.log('succcess while editing the bug');
this.setState({successVisible : true});
})
.fail((jqxhr) => {
console.log('error : ' + jqxhr);
})
},
は私のAPI関数です:
app.put('/api/bugs',function(req,res){
//console.log('req',req);
console.log('query string : ',req.query);
console.log('query params : ',req.params);
console.log('query body: ',req.body);
let id = new ObjectID(req.body._id);
req.body._id = new ObjectID(req.body._id);
db.collection('bugs').replaceOne(
{_id:id},
req.body,
function(err,result){
assert.equal(err,null);
console.log('Successfull replace!');
res.status(200);
}
);
});
Successfull replace!
ログが正しく、サーバー側に示されています。 about to edit bug with these values
が正面に正しく表示されています。しかし、succcess while editing the bug
のログはフロントエンドに表示されておらず、.done
の呼び出しは実行されないようです。
'fail()'が呼び出されたかどうかは言及していません。 –
jqueryのどのバージョンを使用していますか? jquery 1.6 –
@ promtが追加されました@ freedomn-m 'fail()'は呼び出されません。 – nicolasdaudin