ajax之---原生ajax
阿新 • • 發佈:2018-06-10
ons url 返回 ace .html 內容 ldoc lin 原生
<body>
<h3>原生 ajax</h3>
<div>
<a class="btn" onclick="AjaxSubmit();">發送請求</a>
</div>
<script>
function AjaxSubmit() {
var xhr=new XMLHttpRequest(); #創建對象
xhr.onreadystatechange=function (){ #回調函數,當狀態發生改變時執行此函數
if(xhr.readyState==4){ #獲取狀態值:xhr.readyState
console.log(xhr.responseText)
}
};
xhr.open(‘GET‘,‘/ajax1.html?p=456‘); #定義以什麽方式發送數據和目標URL
xhr.send(null); #post發送的數據內容
}
</script>
</body>
XmlHttpRequest對象的主要屬性:
a. Number readyState
狀態值(整數)
詳細:
0
-
未初始化,尚未調用
open
()方法;
1
-
啟動,調用了
open
()方法,未調用send()方法;
2
-
發送,已經調用了send()方法,未接收到響應;
3
-
接收,已經接收到部分響應數據;
4
-
完成,已經接收到全部響應數據;
b. Function onreadystatechange
當readyState的值改變時自動觸發執行其對應的函數(回調函數)
c. String responseText
服務器返回的數據(字符串類型)
d. XmlDocument responseXML
服務器返回的數據(Xml對象)
e. Number states
狀態碼(整數),如:
200
、
404.
..
f. String statesText
狀態文本(字符串),如:OK、NotFound...
XmlHttpRequest對象的主要方法:
a. void
open
(String method,String url,Boolen async)
用於創建請求
參數:
method: 請求方式(字符串類型),如:POST、GET、DELETE...
url: 要請求的地址(字符串類型)
async: 是否異步(布爾類型)
b. void send(String body)
用於發送請求
參數:
body: 要發送的數據(字符串類型)
c. void setRequestHeader(String header,String value)
用於設置請求頭
參數:
header: 請求頭的key(字符串類型)
vlaue: 請求頭的value(字符串類型)
d. String getAllResponseHeaders()
獲取所有響應頭
返回值:
響應頭數據(字符串類型)
e. String getResponseHeader(String header)
獲取響應頭中指定header的值
參數:
header: 響應頭的key(字符串類型)
返回值:
響應頭中指定的header對應的值
f. void abort()
終止請求
</script>
ajax之---原生ajax