У меня есть несколько безответных выпусков, у меня есть образец грубого Vuejs с Axios, как показано ниже:
updateItem: function () {
var obj = {'name': this.name, 'dob': this.dob, 'gender': this.gender}
// console.log(obj)
var strngObj = qs.stringify(obj)
this.axios.put('http://localhost:3000/crud/update/', this.update_id,
strngObj, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
// emulateJSON: true // fix cannot post as form data and urlencoded
).then((resp) => {
if (resp.data.log === 'update success !') {
this.items.push(resp.data.data)
alert(resp.data.log)
}
console.log(resp.data) // check full object in browser console log
})
},
этот код ниже - на стороне сервера
app.put('/crud/update/:UPid', (rqs, rsp, next) => {
rqs.header("Access-Control-Allow-Origin", "*");
rqs.header("Access-Control-Allow-Methods", "POST,PUT");
var obj = { "_id" : mongodb.ObjectID(rqs.params.UPid) };
var update = { $set : { name: rqs.body.name, dob: rqs.body.dob, gender:
rqs.body.gender} }; // $set is object
var cursor = db.collection('info').updateMany(obj,update, function(err, res)
{
if (err) throw err;
rsp.send({log: "update success !",data: obj});
console.log(rqs.body);
// console.log(update);
//db.close();
});
})
У меня есть тест и отладка на Chrome. для создания и чтения работают нормально, но обновление (метод PUT), удаление (DELETE) вообще не работают, и всегда отображается ошибка:
204 Нет содержимого
спасибо за идею!