gpt4 book ai didi

javascript - AJAX 在 node.js 中可用吗?为什么

转载 作者:搜寻专家 更新时间:2023-11-01 00:24:46 25 4
gpt4 key购买 nike

我有基于浏览器的 javascript 背景,想熟悉 node.js。据我所知,node.js 是一个基于 V8 引擎的框架,它提供服务器端 javascript 以及一些内置模块。

我的问题是:node.js 是否支持 AJAX 调用?为什么/如何完成?当然 Node 可以处理传入的 AJAX 请求,就像所有其他服务器端技术(python、ruby、php、j2ee)一样 - 但我想问的是它是否可以触发 AJAX 调用。

JavaScript 是一种事件驱动技术(本质上是异步的)。浏览器需要获取外部数据(从服务器),这就是它们使用 XMLHttpRequest 的原因。由于是服务器端,node.js 不必触发 AJAX,因为它需要调用其他服务器。如果它需要与其他服务器通信,它可以像其他技术(python、ruby 等)一样使用普通套接字/服务来做同样的事情。但是,无论如何,XMLHttpRequest 内置于浏览器中,因此也许没有理由将其从 Node 中删除......也许它在某种程度上很有用。

我希望得到能解释该主题的答案。

最佳答案

does node.js support AJAX calls?

Ajax 是在不离开页面的情况下使用 JavaScript 从浏览器发出 HTTP 请求的过程。

由于 Node(在 WWW 的上下文中)通常在服务器上运行,因此它通常不会这样做。

您可以:

  • 使用 Node 运行 HTTP 服务器,并让客户端 JavaScript 使用 Ajax 向该服务器发出请求
  • 驱动浏览器(例如通过 PhantomJS 或 Selenium)并让它加载一个页面,使浏览器执行 Ajax 调用
  • 从 Node 发出 HTTP 请求

Because of being server-side, node.js doesn't have to fire AJAX, because it would need to call other servers.

一台服务器与另一台服务器通信的原因有很多

If it would need to communicate other server, it could do the same using plain sockets/services just as other technologies do (python, ruby, etc).

我不记得上次我使用 Python、Ruby 或任何其他语言在我没有使用 HTTP(和预先编写的 HTTP 库)的网络上获取数据是什么时候了。

XMLHttpRequest is built into the browsers, so maybe there could be no reason to remove it from node

Node 不是一个删除了位的浏览器,所以 XMLHttpRequest 并没有从中删除,它一开始就不在其中。

Node 有一个内置的 HTTP 模块,可以使 HTTP requests 和 NPM 上的几个库提供替代 API(包括 implements XMLHttpRequest specification )。

关于javascript - AJAX 在 node.js 中可用吗?为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25347728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com