node.js - 在更改、Angular 和 Node JS 上保存到数据库

标签 node.js angularjs express

我正在将 MS Access 数据库转换为 Web 应用程序。我使用 Angular JS、带有 Express 框架的 Node JS 和 MySQL 作为数据库。

在 ms access 中,您没有任何编辑/保存功能。当您编辑某些内容时,数据库会立即更改。我喜欢这个。感觉很光滑。所以我想在网络应用程序中以同样的方式实现这一点。我的问题是。在我的 webbapp 中使用这种方法会有什么问题吗?

这是我的一段 Node js 代码,它通过休息调用更新数据库:

/*
 Post /api/products/ HTTP/1.1
 */
exports.editProduct = function(req, res) {
  console.log(req.body);
  var post  = [{title_en: req.body.title_en},req.params.id];
  if (connection) {
    connection.query("UPDATE products SET ?  WHERE id = ?",  post, function(err, rows, fields) {
      if (err) throw err;
      res.contentType('application/json');
      res.write(JSON.stringify(rows));
      res.end();
    });
  }
};

在客户端,我使用 $resource 对象

       $scope.save = function(){
         $scope.product.$save(function(){
           console.log('Save successfull);
         });
       };

并且在 View 中。我只是通过 ng-change 输入:

<input ng-model="product.title_en" ng-change="save()".

这在有几百个用户的生产模式下效果好吗?阻塞/崩溃等的可能性是多少?

最佳答案

我唯一看到的是 if (err) throw err; 如果出现错误,服务器就会崩溃,因此请使用状态为 500 的 json 响应进行更改。 顺便说一句,express 有一个内置的方式来输出 json
最好验证 title_en 和 id

exports.editProduct = function(req, res) {
      console.log(req.body);
      var post  = [{title_en: req.body.title_en},req.params.id];
      if (connection) {
        connection.query("UPDATE products SET ?  WHERE id = ?",  post, function(err, rows, fields) {
          if (err) {
              return res.json(500,{ error: 'Cannot update the product' });
          }
          res.json(200,rows);
        });
      }

尝试使用另一件事restangular而不是资源,它很有趣:) };

关于node.js - 在更改、Angular 和 Node JS 上保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21516718/

相关文章:

mysql - Nodejs多sql查询循环

javascript - Angular 绑定(bind)打破了小数位

javascript - 在 ng-class 和 ng-click 属性中使用循环变量

api - 使用Axios进行API调用时Express中的错误处理

mongodb - 通过 Mongoose、Node.js、MongodB 中的特定属性查找嵌入式文档

javascript - 如何使用 Angular(8) UI 在远程 Linux 服务器上运行 shell 脚本?

javascript - 如何将变量传递给 Pug 的 `script.` block ?

javascript - 如何使用 ionic 和 Angular 在模式内显示选定的图像名称?

javascript - 前缀express.js 路由

node.js - 在 Angular 中上传文件 - 显示在 req.body 中,而不是 Nodejs 服务器的 req.files 中