簡體   English   中英

如何在Node.js中使用XHR API?

[英]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,POSTPUT與標題和正文的請求。

這是http.request文檔的鏈接。

這就是為什么我們使用Axios作為模塊。 它可以在客戶端或服務器端使用,無需任何依賴或代碼更改。

節點-XMLHttpRequest

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()

復刻

重新分配回調

重新分配 promise

replit 異步/等待

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM