node.js中有AJAX吗?为什么?

is AJAX available in node.js - and why

本文关键字:为什么 AJAX js 中有 node      更新时间:2023-09-26

我有一个基于浏览器的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. js中删除它。也许它会在某种程度上有用。

我希望你的回答也能解释这个话题。

node.js是否支持AJAX调用?

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

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

您可以:

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

由于是服务器端,node.js不需要触发AJAX,因为它需要调用其他服务器。

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

如果它需要与其他服务器通信,它可以使用普通的套接字/服务,就像其他技术(python, ruby等)一样。

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

XMLHttpRequest是内置在浏览器中的,所以可能没有理由从节点

中删除它。

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

Node有一个内置的HTTP模块,它可以发出HTTP请求,NPM上有几个库提供了替代api(包括一个实现XMLHttpRequest规范的库)。

它不是内置的,但有一个NPM模块:https://www.npmjs.org/package/xmlhttprequest