【问题标题】:Insert row causing 404插入行导致 404
【发布时间】:2016-05-30 14:46:58
【问题描述】:

我已验证我的数据库和表格设置正确,我正在尝试将一个元素插入到我的“锻炼”表格中。

我使用以下网址:

http://52.39.3.148:3000/insertWorkout?name=Tom&weight=166&date=12%2F12%2F12&lbs=123&reps=12

insertWorkout 处理程序:

app.post('/insertWorkout',function(req,res,next){
    var context = {};
    pool.query("INSERT INTO workouts (`name`,`weight`,`date`,`lbs`,`reps`) VALUES (?,?,?,?,?)", [req.body.name, req.body.weight, req.body.date, req.body.lbs, req.body.reps], function(err, result){
    if(err){
      next(err);
      return;
    }
    context.results = "Inserted id " + result.insertId;
    res.render('home',context);
  });
});

我在这里做错了什么?

【问题讨论】:

    标签: mysql sql node.js handlebars.js


    【解决方案1】:

    您是否在浏览器中运行 url?如果是这样,这是一个 http GET 请求,您的代码正在创建一个 POST 请求。

    问题是 - 当您调用此请求时 - 您发送的所有参数(姓名、体重、日期、磅、代表)都在“req.query”中发送,而不是在“req.body”中发送,这会导致所有你的价值观是不确定的。

    如果你想保留它作为一个post请求,你应该调用这个API作为一个post,我建议使用dhc这样的工具来这样做。

    如果您想将其转换为 GET 请求 - 请使用以下命令:

    app.get('/insertWorkout',function(req,res,next){
        var context = {};
        pool.query("INSERT INTO workouts (`name`,`weight`,`date`,`lbs`,`reps`) VALUES (?,?,?,?,?)", [req.query.name, req.query.weight, req.query.date, req.query.lbs, req.query.reps], function(err, result){
        if(err){
          next(err);
          return;
        }
        context.results = "Inserted id " + result.insertId;
        res.render('home',context);
      });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多