標籤:header demo 功能 name jquery == 請求 ant ready
1.首先我們基於curl的請求參數樣本:
curl http://localhost:8080/oauth/token -X POST -u client:fucksecurity -d "grant_type=refresh_token&refresh_token=1a1fb46e-8ab4-4a3b-84c4-e70892eaa570"
其中的 -u 表示的是身份認證的使用者名稱和密碼。後來嘗試過Jquery的$.ajax的username和password去傳這個兩個對象,發現請求一直未通過。後來查了一下ajax的api。
上面的是api的,發現這兩個屬性,必須要用於XML HttpRequest對象。以下是類比上面請求功能的demo.
var url = "http://localhost:8080/oauth/token?grant_type=password&username=shawn&password=fucksecurity";
//1/得到xhr對象
var xhr = XHR();
//2.註冊狀態變化監聽器
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
token = JSON.parse(xhr.responseText);
}else{
//4.向伺服器發出請求
xhr.send("userName=client");
}
}
}
//3.建立與伺服器的串連
xhr.open("POST", url);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//4.向伺服器發出請求
xhr.send("userName="+name);
基於oauth授權架構其中擷取令牌需要發送Http身份認證的請求