Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法将数据保存到通过$.ajax发送的mongo(皮肤)_Javascript_Jquery_Mongodb_Express_Mongoskin - Fatal编程技术网

Javascript 无法将数据保存到通过$.ajax发送的mongo(皮肤)

Javascript 无法将数据保存到通过$.ajax发送的mongo(皮肤),javascript,jquery,mongodb,express,mongoskin,Javascript,Jquery,Mongodb,Express,Mongoskin,我使用$.ajax将PUT请求发送到我的Express服务器。我可以很好地检索信息,但是我很难通过mongoskin数据库将新更改保存到我的mongo 从顶部看,这是我在编辑按钮上的单击事件: $('#userList table tbody').on('click', 'td a.linkedituser', editUser); 这里是它调用的函数: function editUser(event) { event.preventDefault(); var thisUserID

我使用$.ajax将PUT请求发送到我的Express服务器。我可以很好地检索信息,但是我很难通过mongoskin数据库将新更改保存到我的mongo

从顶部看,这是我在编辑按钮上的单击事件:

$('#userList table tbody').on('click', 'td a.linkedituser', editUser);
这里是它调用的函数:

function editUser(event) {
  event.preventDefault();

  var thisUserID = $(this).attr('rel');
  var arrayPosition = userListData.map(function(arrayItem) { return arrayItem._id; }).indexOf(thisUserID);
  var thisUserObject = userListData[arrayPosition];

  $('#editUserName').val(thisUserObject.email);
  $('#editUserEmail').val(thisUserObject.email);
  $('#editUserFullname').val(thisUserObject.fullname);
  $('#editUserAge').val(thisUserObject.age);
  $('#editUserLocation').val(thisUserObject.location);
  $('#editUserGender').val(thisUserObject.gender);

  $('#btnEditUser').on('click', function() {
    $.ajax({
      type: 'PUT',
      url: '/users/edituser',
      data: {
        'id' : thisUserID,
        'username' : $('#editUserName').val(),
        'email' : $('#editUserEmail').val(),
        'fullname' : $('#editUserFullname').val(),
        'age' : $('#editUserAge').val(),
        'location' : $('#editUserLocation').val(),
        'gender' : $('#editUserGender').val()
      },
      dataType: 'json',
      success: function(msg) {},
      error: function(err) {}
    }).done(function(response) {
      if (response.msg === '') {
      }
      else {
      }
      populateTable();
    });
  });
};
最后是路由器文件routes/users.js

router.put('/edituser', function(req, res) {
  var db = req.db;
  db.collection('userlist').findById(req.body.id, function(err, result) {
    result.username = req.body.username;
    result.email = req.body.email;
    result.fullname = req.body.fullname;
    result.age = req.body.age;
    result.location = req.body.location;
    result.gender = req.body.gender;

    console.log(result);

    res.send((result === 1) ? { msg: '' } : { msg: 'error: ' + err + "!!!!" });
  });
});
我应该错过什么吗

看起来一切都应该是好的,但结果并不是好的。当我刷新页面或单击编辑按钮时,旧值将返回。我尝试了“results.save”,但我得到一个错误,该函数不存在

我不应该使用findById吗


谢谢。

我不熟悉mongoskin,但我想你应该使用updateById not FindByid这是一种享受,谢谢:去创建一个答案,这样我就可以勾选它了。