[英]How to use XHR API in Node.js?
這是我之前問題的后續
假設我有一些javascript
代碼,它在客戶端(在瀏覽器中)運行良好。 此代碼使用瀏覽器 API 進行大量XHR
調用。
現在我想在node.js
中運行這段代碼。 node.js
是否提供瀏覽器中的XHR
API?
Natively Node.js不提供瀏覽器XHR API。 但是,有一個節點模塊xmlhttprequest 。
如果文件位於服務器本身,則可以使用fs.readFile或fs.readFileSync。
如果它位於遠程服務器上,那么您可以使用類似請求的模塊執行異步XHR類型請求: https : //www.npmjs.com/package/request 。 這需要對代碼進行一些重寫。
如果您使用xmlhttprequest節點模塊,則可能最少重寫您的客戶端代碼。 它為節點實現了瀏覽器XHR API。
你並不真的需要一個XHR,因為你可以使用http.request與本地的NodeJS來了,有了它,你可以發送GET,POST和PUT與標題和正文的請求。
這是http.request文檔的鏈接。
這就是為什么我們使用Axios
作為模塊。 它可以在客戶端或服務器端使用,無需任何依賴或代碼更改。
nodejs中的示例代碼
const XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest
/* --- */
let xhr = new XMLHttpRequest()
xhr.open( 'GET', 'https://example.com' )
xhr.onload = function() {
if ( xhr.status == 200 ) {
console.log( xhr.responseText )
} else {
console.log( `Error: ${xhr.status}` )
}
}
xhr.send()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.