[英]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,它留空。
這是一個使用 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 EE 、 PHP 、 Perl和Python來實現您正在尋找的東西。
現在,對於您的邏輯,您必須首先建立一個關於用戶的安全會話。 如果沒有,他們必須登錄。這是您需要數據庫的地方。 我還強烈建議您在與數據庫交互時使用 准備好的語句。
你也可以使用這個:
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.