GET /bla - - ms - - 在 NodeJs 控制台中是什么意思?

What does GET /bla - - ms - - mean in NodeJs console?

当我在我的 NodeJS 应用程序中转到页面 /bla 时,控制台打印出

GET /bla - - ms - -

用文字(为了更容易 Google 搜索),dash dash ms dash dash

这是什么意思?

这是 morgan 的输出,node.js 的 HTTP 请求记录器中间件。

默认情况下,它会将所有请求记录到控制台。根据您的配置,它将显示来自请求的不同数据。

如果您使用默认格式 (dev),则显示的数据为:

:method :url :status :response-time ms - :res[content-length]

根据this thread

The log line GET / - - ms - - is the dev format saying you never sent a response before Node.js killed the TCP connection for idling too long.

所以问题是服务器没有响应的请求 - 换句话说,路由中的一些中间件从未调用过 next()res.send()res.end() 或任何其他回应方式。

我意识到,如果服务器不处理客户端中止的请求,也会发生这种情况(可以轻松测试,例如通过浏览器发出请求并在完成之前单击地址栏中的 X 按钮).

根据 the docs,处理该问题的方法可能类似于 (未测试):

req.on('abort', function (err) {
   if (err)
       console.error(error.message);

   // your code here
});

可能是front issue,试试postman看看有没有同样的issue

我有同样的问题,但我观察到如果我使用我的 POSTMAN,这个问题永远不会弹出,但我的反应应用程序有时 returns 正确的请求但大多数其他时间没有响应并且 POST /story/create - - ms - - 是快递日志。看代码的时候,表单提交在前面rend

很奇怪
<Form onSubmit={() => formTest()}>
    <div
      style={{ display: "flex", justifyContent: "center" }}
      key={`inline-switch`}
      className="mb-3"
    >
      {checkboxes.map((name, index) => (
        <div key={index.toString()} className="mb-3">
          <Form.Check
            onChange={() => handleOnChange(index)}
            label={name}
            name="group1"
            type="switch"
            id={`inline-switch-${index}`}
          />
        </div>
      ))}
    </div>
    <div style={{ display: "grid", placeItems: "center" }}>
      <BootstrapButton
        style={{ backgroundColor: "Blue", width: "48%" }}
        type="submit"
      >
        Submit
      </BootstrapButton>

当我清理它时

      <Form >
    <div
      style={{ display: "flex", justifyContent: "center" }}
      key={`inline-switch`}
      className="mb-3"
    >
      {checkboxes.map((name, index) => (
        <div key={index.toString()} className="mb-3">
          <Form.Check
            onChange={() => handleOnChange(index)}
            label={name}
            name="group1"
            type="switch"
            id={`inline-switch-${index}`}
          />
        </div>
      ))}
    </div>
    <div style={{ display: "grid", placeItems: "center" }}>
      <BootstrapButton
        style={{ backgroundColor: "Blue", width: "48%" }}
        onClick= {() => formTest()}
       
      >
        Submit
      </BootstrapButton>

错误不再弹出。我不知道原因,也不保证这是真正的问题,但我建议尝试使用 CURL 或邮递员或什至其他代码(如其他反应组件的提取)来重新创建。也许你可以解决这个问题