本地主机没有发送任何数据 \- ERR_EMPTY_RESPONSE

新手上路,请多包涵

使用 VScode 编写 NodeJS

但是要检查一下,localhost 没有正确响应,它说“该页面没有发送任何数据。我尝试到处寻找并更改了所有可能的设置。

恢复 chrome 设置清除缓存、清除历史记录、更改端口号、更改 LAN 设置。

  ''''

const Joi = require('joi');
const express = require('express');
const app = express();

app.use(express.json); //to take inputs ffrom the browser
const courses = [
{id: 1, name: "course 1"},
{id: 2, name: "course 2"},
{id: 3, name: "course 3"},
 ];

app.get('/', (req, res) =>{
res.send("Hello world!!");
res.end();
});

app.get('/api/courses/', (req, res) =>{
res.send(courses);
res.end();
});

const port = process.env.port || 8080;
app.listen(port, ()=> console.log(`Listining on port ${port}..`));

 ''''

想查看网页上打印的所有课程。

原文由 user7665661 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

您的 courses 是一个对象。您需要通过电线将其作为字符串发送。将其作为 json 发送,浏览器将能够解析它。

 app.get('/api/courses/', (req, res) => {
  // change here, your object is stringified to json by express
  res.json(courses);
});

要从浏览器获取输入,您必须使用 body-parser 而不是 app.use(express.json) 类的包

var express = require('express')
var bodyParser = require('body-parser')

var app = express()

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())

原文由 1565986223 发布,翻译遵循 CC BY-SA 4.0 许可协议

我有一个类似的问题,这是通过使用 http 调用仅 https 的 api 端点引起的。

原文由 Thabiso Mofokeng 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题