Nodejs 的 http 模块 response 如何返回数据?

发布于 1周前 作者 caililin 来自 nodejs/Nestjs

Nodejs 的 http 模块 response 如何返回数据?

如果用 response.write 的话,直接在前台页面上输出内容了,如何才能像接口一样去调用? 只用原生模块、不用第三方框架的情况下。 谢谢!

13 回复

改 response 的 content-type


能问下到底为啥不用第三方框架吗?

没啥,只是想学一下原生的实现。
这样还是会直接在前台页面输出内容。

你是用 ajax 发起请求的还是直接地址栏访问?后者的话应该就是页面输出了。

用浏览器访问接口都是直接显示内容呗。

你是怎么改的,你前端又是怎么调用的?

用 express 的 res.json()?

建议先了解下 HTTP 协议

lz 要是的类似 php ob_start 的东西?貌似真没见过

无论什么接口,浏览器打开都是直接输出的啊。没明白你的需求是什么。

如何返回数据,是 tcp/ip 协议的标准.
如果不是标准,你的返回可能不会被正常解析。
再往下面的话,应该是 socket 套接字的实现了

在 Node.js 中,使用 http 模块处理 HTTP 请求和响应是一个基础且常见的任务。当需要响应客户端请求时,你可以使用 response 对象的方法将数据发送回客户端。以下是一个简要的示例,展示了如何使用 http 模块来返回一个简单的响应。

首先,需要引入 http 模块并创建一个 HTTP 服务器:

const http = require('http');

const server = http.createServer((req, res) => {
  // 设置响应头
  res.writeHead(200, { 'Content-Type': 'text/plain' });

  // 返回响应数据
  res.end('Hello, World!\n');
});

// 服务器监听在特定端口
server.listen(3000, '127.0.0.1', () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

在这个例子中,http.createServer 方法接受一个回调函数,该函数在每次接收到请求时被调用。回调函数有两个参数:req(请求对象)和 res(响应对象)。

  • res.writeHead(statusCode, headers) 方法用于设置响应的状态码和头部信息。
  • res.end([data], [encoding], [callback]) 方法用于结束响应,并可选地发送数据到客户端。如果调用 res.end 时不提供数据,之前可以通过 res.write(data, [encoding], [callback]) 方法发送数据。

这样,一个简单的 HTTP 服务器就设置好了,并且可以在客户端访问时返回 “Hello, World!” 的文本响应。

回到顶部