【问题标题】:Nodejs (express) running but requests not workingNodejs(express)正在运行但请求不起作用
【发布时间】:2023-11-14 04:03:01
【问题描述】:

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

【问题讨论】:

  • 问题出在您的代码中,您需要将其包含在内,以便我们找出问题所在。
  • 嗨!欢迎来到堆栈溢出。正如@k0hamed 提到的,我们需要查看您尝试过的内容(您的代码),以便我们帮助调试正在发生的事情。一个最小的例子是最好的。在how to ask a good question查看这篇文章

标签: node.js reactjs express pm2


【解决方案1】:

这是一个使用express js的简单方法,也许你可以试试。

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

npm init

其次,必须安装 Body Parser 和 Express

npm install body-parser express --save

第三,把这段代码放到你的 main 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

【讨论】:

    【解决方案2】:

    将此代码用作启动文件中的全局错误处理。你会得到所有错误资源作为json。

    因为您的网址中可能存在拼写错误。所以有了这个代码,你会得到.. not fount error res ... as 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}`);
    });

    【讨论】:

      最近更新 更多