前端js如何發起http請求後端後端
阿新 • • 發佈:2019-02-15
作為一名後端開發人員,一致在學習後端技術,今天突然想起寫一個原生的js,探討向服務端發起http請求,獲得資料後再做顯示。
先貼程式碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>請求後端介面測試</title>
</head>
<body>
<input type="text" id="aaa">輸入查詢銀行</input>
<button onclick="startQuery()" >開始請求 </button>
<div id="result" style="color:red"></div>
<script>
function getJSON(url){
return new Promise( function(resolve, reject){
var xhr = new XMLHttpRequest();
xhr.open('get',url,true);
xhr.responseType ='json';
xhr.onload = function (){
var status = xhr.status;
if (status == 200) {
resolve(xhr.response);
} else {
reject(status);
}
};
xhr.send();
});
};
function startHttpQuery(bankId){
var url= "http://localhost:8080/v1/bankinfo";
if(null != bankId){
//get方法的查詢引數設定
url=url + "?bankId=" + bankId;
}
getJSON(url).then( function(data){
var info="";
for(var i=0; i<data.length; i++){
info = info + data[i].bankId + " " + data[i].bankName + "<br>";
}
document.getElementById("result").innerHTML = info;
},
function(status) {
alert('Something went wrong.');
});
}
function startQuery(){
var bank=document.getElementById("aaa").value;
startHttpQuery(bank);
}
</script>
</body>
</html>
本次demo採用XMLHttpRequest物件發起http請求,並沒有採用任何前端框架。
AJAX即“Asynchronous Javascript And XML”,非同步JavaScript和XML。使用AJAX可以通過HTTP協議與伺服器互動資料,可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。 傳統的網頁如果需要更新內容,必須重新載入整個網頁頁面。此外,它也是實現前端與後端解耦的重要技術手段。AJAX框架的核心物件就是XMLHttpRequest。