簡體   English   中英

如何在 javascript 中發送和接收 HTTP 請求

[英]How to send and receive HTTP requests in javascript

我正在嘗試從客戶端 javascript 發送 HTTP 請求,並在 HTML 中整齊地顯示所有響應(標題、內容、附加文本等)。

除此之外,我還想編寫在有人訪問網頁時發送特定響應的 javascript。 例如,如果我想在有人訪問 example.com/test 時發送 402(需要付款),我該如何在客戶端 javascript 中執行此操作?

這是一個簡單的 javascript 片段,用於發出請求並打印響應,

function createHttpObject() {
     try {return new XMLHttpRequest();}
     catch (error) {}
     try {return new ActiveXObject("Msxml2.XMLHTTP");}
     catch (error) {}
     try {return new ActiveXObject("Microsoft.XMLHTTP");}
     catch (error) {}

     throw new Error("Could not create HTTP request object.");
}

var request = new createHttpObject();
request.open("GET", "url", true);
request.send(null);
print(request.responseText);

編輯:為舊版本的 Internet Explorer 添加了一個不兼容的包裝器。
XMLHttpRequest 對象允許您發出 Web 請求。
此處,在 open 中,第一個參數指定使用哪種 HTTP 方法來處理您的請求。 您可以指定的值為 GET、PUT、POST 和 DELETE。 在這種情況下,我們對接收信息感興趣,所以我們指定的第一個參數將是 GET。最后一個參數是指定請求是否異步,true 指定它是異步的。
send 函數發送請求,參數指定要隨請求一起發送的數據。對於 get,它留空。

您可以使用 Ajax 發送 HTTP 請求並接收其響應。

我喜歡使用 Jquery Ajax - http://api.jquery.com/jquery.ajax/

很簡單,可以找到很多幫助

這是一個使用 Jquery 發出 HTTP get 請求的示例:

    $.ajax({
    url: '/api/...', //here is your URL
    type: 'GET',
    success: function(data) {
       //the data here is the response data 

    },
    error: function(e) {

    }
});

我正在嘗試從客戶端 javascript 發送 HTTP 請求,並在 HTML 中整齊地顯示所有響應(標題、內容、附加文本等)。

對於這個任務使用jQuery.post()

除此之外,我還想編寫在有人訪問網頁時發送特定響應的 javascript。 例如,如果我想在有人訪問 example.com/test 時發送 402(需要付款),我該如何在客戶端 javascript 中執行此操作?

JavaScript 僅在客戶端運行。 如果你想在服務器上使用 JavaScript,我建議你使用Node.js 但是在服務器端沒有必要使用JS,因為有大量的服務器腳本和編程語言。 您可以使用Java EEPHPPerlPython來實現您正在尋找的東西。

現在,對於您的邏輯,您必須首先建立一個關於用戶的安全會話。 如果沒有,他們必須登錄。這是您需要數據庫的地方。 我還強烈建議您在與數據庫交互時使用 准備好的語句

你也可以使用這個:

https://github.com/floscodes/JS/blob/master/Requests.js

您可以輕松發送 http 請求。 只需使用:

HttpRequest("https://example.com", method="post", data="yourkey=yourdata");

而已。 如果站點受 CSRF 保護,它甚至應該可以工作。

或者只是通過使用發送 GET-Request

HttpRequest("https://example.com", method="get");

暫無
暫無

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

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