node js在将数据插入数据库时“无法获得任何响应”

hmmo2u0o  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(367)

我正在尝试用nodejs向我的数据库(mysql)插入一些数据,我已经编写了一些代码,但是在postman中,它无法得到任何响应,尽管我知道我正确地遵循了我观看的一些教程。
这是我的密码
sendorder.js(模型)

var db=require('../dbconnection');

var Task = {
    addTask:function(Task,callback){
        return db.query("Insert into orders ( order_id, order_no, tbl_id, menu_id, \
            order_quantity, order_discount, order_type, \
            order_amount, menu_name, menu_price ) values(?,?,?,?,?,?,?,?,?,?)",
        [
            Task.order_id, Task.order_no, Task.tbl_id, Task.menu_id,
            Task.order_quantity, Task.order_discount, Task.order_type,
            Task.order_amount, Task.menu_name, Task.menu_price
        ], callback);
    },
}

module.exports=Task;

sendorder.js(路由器)

var express = require('express');
var router = express.Router();
var Task = require('../models/SendOrder');

router.post('Send/', function(req, res, next){
        Task.addTask(req.body,function(err,count){
            console.log(req.body);
            if(err)
            {
                res.json(err);
            }
            else{
                res.json(req.body);
            }
        });
});

module.exports = router;

编辑:
数据库连接.js

var mysql=require('mysql');
var connection=mysql.createConnection({

    host: 'localhost',
    user: 'root',
    password: '',
    database: 'opob',

});

module.exports=connection;

应用程序.js

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var mysql = require('mysql');
var connection = require('express-myconnection')

var SendOrder = require('./routes/SendOrder');           // SendOrder

var app = express();  

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/SendOrder', SendOrder);                        // SendOrder

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

ao218c7q

ao218c7q1#

去 Postman 那里
离开 SSL certificate verification “常规”选项卡:(根据请求选择第二个选项)

离开 Global Proxy Configuration 以及 Use System Proxy 在代理选项卡中:

如果两者都不起作用,请尝试以下代码:

if(err)
{
    return res.status(500).json(err);
}
else{
    return res.status(200).json(req.body);
}

希望这对你有帮助!

=============已编辑==============

看着你的 app.js 文件。看来你需要用 body-parser 包来解析请求中的json数据。

npm install body-parser --save

主体解析器提取传入请求流的整个主体部分,并在req.body上公开它。

umuewwlo

umuewwlo2#

从您在这里分享的内容来看,有以下几种可能性:
您尝试访问的ip/端口错误。请再次交叉验证。
您试图命中的ip无法从安装了postman的机器访问(我添加了这种可能性,因为您使用的是ip而不是localhost)
第三种可能是当您点击 Send/ 应用程序编程接口。如果问题出在代码上,很可能就是这个原因。在这种情况下,您可以检查服务器控制台以查找崩溃日志和堆栈跟踪。
正如@hardik在评论中提到的,这不是一个错误的url,因为它将返回404。

相关问题