是node.js中的AJAX可用 – 以及为什么

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

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

JavaScript是一种事件驱动的技术(本质上是asynchronous的)。 浏览器需要从服务器获取外部数据,这就是为什么他们使用XMLHttpRequest 。 由于是服务器端,node.js不必触发AJAX,因为它需要调用其他服务器。 如果需要与其他服务器通信,则可以像使用其他技术一样使用普通套接字/服务来执行相同的操作(python,ruby等)。 但是,无论如何,XMLHttpRequest内置到浏览器,所以也许有没有理由把它从节点删除…也许它可能是有用的。

我会很感激的回答,也将解释这个话题。

node.js是否支持AJAX调用?

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

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

您可以:

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

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

一台服务器与另一台服务器交谈有很多原因

如果需要与其他服务器通信,则可以像使用其他技术一样使用普通套接字/服务来执行相同的操作(python,ruby等)。

我不记得我最后一次使用Python,Ruby或任何其他语言来通过一个没有使用HTTP(和一个预先编写的HTTP库)的networking获取数据。

XMLHttpRequest内置在浏览器中,所以也许没有理由将其从节点中删除

节点不是一个删除位的浏览器,所以XMLHttpRequest并没有被删除,它从来没有在它的第一个地方。

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

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