我有一个基于浏览器的javascript背景,想要熟悉node.js.据我所知,node.js是一个基于V8引擎的框架,它提供服务器端的javascript以及一些内置模块。
我的问题是: node.js是否支持AJAX调用?为什么/如何完成?当然节点可以处理接收AJAX请求,就像所有其他服务器端技术(python,ruby,php,j2ee)一样 - 但我问它是否可以触发 AJAX调用。
JavaScript是一种事件驱动的技术(本质上是异步的)。浏览器需要从服务器获取外部数据,这就是他们使用XMLHttpRequest
的原因。由于是服务器端,node.js不必触发AJAX,因为它需要调用其他服务器。如果它需要与其他服务器进行通信,它可以像使用其他技术那样使用普通套接字/服务(python,ruby等)。但是,无论如何,XMLHttpRequest内置于浏览器中,因此可能没有理由将其从节点中删除......也许它可能会以某种方式有用。
我很感激能够解释这个话题的答案。
答案 0 :(得分:4)
node.js是否支持AJAX调用?
Ajax是使用JavaScript从浏览器发出HTTP请求而不离开页面的过程。
由于Node(在WWW的上下文中)通常在服务器上运行,因此通常不会这样做。
你可以:
由于是服务器端,node.js不必触发AJAX,因为它需要调用其他服务器。
一台服务器与另一台服务器交谈有很多理由
如果它需要与其他服务器通信,它可以像使用其他技术那样使用普通套接字/服务(python,ruby等)。
我不记得上次我使用Python,Ruby或任何其他语言通过网络获取数据时我没有使用HTTP(以及预先编写的HTTP库)。
XMLHttpRequest内置于浏览器中,因此可能没有理由将其从节点中删除
Node并不是一个删除了位的浏览器,因此XMLHttpRequest还没有从中删除,它从来就不在其中。
Node有一个内置的HTTP模块,它可以在NPM上发出HTTP个请求和几个提供备用API的库(包括implements XMLHttpRequest specification)。< / p>
答案 1 :(得分:1)
它不是内置的,但有一个NPM模块:https://www.npmjs.org/package/xmlhttprequest