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

时间:2014-08-25 19:35:12

标签: javascript jquery mongodb express mongoskin

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

从顶部开始,这是我在编辑按钮上的点击事件:

$('#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();
    });
  });
};

最后路由器文件路由/ 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 + "!!!!" });
  });
});

Everything is on git我应该错过任何事情。

似乎一切都应该没问题但结果却没有保存。刷新页面或单击编辑按钮时,旧值将返回。我试过' results.save()'但是我得到一个错误,该函数不存在。

我不应该使用findById吗?

感谢。

0 个答案:

没有答案