Node.js(Express)正在运行,但请求不起作用

时间:2019-06-09 15:19:28

标签: node.js reactjs express pm2

我运行项目后端“ server.js”(快速)。它工作正常,没有任何问题。但是我从Postman或其他应用程序发送了请求,但无法得到任何响应或错误。仅加载。 有时它可以正常工作,并且我可以正确地获取所有请求,但是几分钟或几个小时后,我无法获得任何请求响应。 请帮我。是什么原因导致此问题? 我正在使用Reactjs,Nodejs(express)

2 个答案:

答案 0 :(得分:0)

使用此代码作为启动文件中的全局错误处理。并且您将获得所有错误res作为json。

因为您的网址可能有错字。因此,有了此代码,您将获得.. not fount error res ...作为json。

    
    // route not found
    app.use((req, res, next) => {
     const error = new Error('Not found');
     error.message = 'Invalid route';
     error.status = 404;
     next(error);
    });
   // log errors to console
    app.use(logErrors);
     //
    app.use(clientErrorHandler);
    app.use((error, req, res, next) => {
    res.status(error.status || 500);
      return res.json({
      status:error.status || 500,
      message: error.message,
      error: {
      error: error.message,
      },
    });
   });

// log errors to console
function logErrors(err, req, res, next) {
  console.error(err.stack);
  next(err);
}
// error handling for xhr request
function clientErrorHandler(err, req, res, next) {
  if (req.xhr) {
    //console.log('xhr request');
    res.status(400).send({status: 400, message: "Bad request from client", error: err.message });
  } else {
    next(err);
  }
}

let port = process.env.PORT || 8081;
app.listen(port, () => {
  console.log(`Listening on port ${port}`);
});

答案 1 :(得分:0)

这是使用Express JS的简单方法,也许您可​​以尝试。

首先,您必须输入应用程序的详细信息。

npm init

第二,必须安装Body Parser和Express

npm install body-parser express --save

第三,将此代码放置到您的主要js中(例如,在npm init中输入的server.js或index.js)

const BodyParser = require( 'body-parser' );
const Express = require( 'express' );
const App = Express();

// Parse request of content-type - application/x-www-form-urlencoded
App.use( BodyParser.urlencoded( { extended: false } ) );

// Parse request of content-type - application/json
App.use( BodyParser.json() );

App.listen( 3000, () => {
	console.log( "Server Run:" + 3000 );
} );

App.get( '/', function( req, res ) {
	res.json( {
		status: "OK"
	} );
} );

App.get( '/test', function( req, res ) {
	res.json( {
		status: "Hehehe Test"
	} );
} );

第四,启动节点

node server.js

现在,您可以在浏览器中访问代码

http://localhost:3000/
http://localhost:3000/test