最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

Ajax 對象 包含post和get兩種異步傳輸方式

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:52:37
文檔

Ajax 對象 包含post和get兩種異步傳輸方式

Ajax 對象 包含post和get兩種異步傳輸方式: 代碼如下:/** * @author Supersha * @QQ:770104121 */ <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/strict.dtd> <html> <head> <met
推薦度:
導(dǎo)讀Ajax 對象 包含post和get兩種異步傳輸方式: 代碼如下:/** * @author Supersha * @QQ:770104121 */ <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/strict.dtd> <html> <head> <met

代碼如下:

/**
* @author Supersha
* @QQ:770104121
*/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ajax Document</title>
<script type="text/javascript">
//注意,編碼要同意為utf-8才能避免中文參數(shù)和返回中文的亂碼問題
function Ajax(prop){
this.action(prop); //在實例化的時候就調(diào)用action方法
}
Ajax.prototype = {
createXHR: function(){ //創(chuàng)建XMLHttpRequest對象
var xhr = false;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xhr;
},
action: function(prop){
var xhr = this.createXHR();
if (xhr) {
var url = encodeURI(prop["url"]); //對URL進(jìn)行編碼
if (prop["method"] == "GET" && url && prop["success"]) { //GET方法
xhr.onreadystatechange = function(){
(function(){ //自執(zhí)行函數(shù)用于檢查服務(wù)器的返回狀態(tài)并執(zhí)行回調(diào)函數(shù)
if (xhr.readyState == 4 && xhr.status == 200) {
prop["success"](xhr); //執(zhí)行回調(diào)函數(shù)
}
})();
};
//alert(prop["hander"] instanceof Function);
xhr.open("GET", url, true);
xhr.send(null);
}
else
if (prop["method"] == "POST" && url && prop["success"]) { //POST方法
xhr.onreadystatechange = function(){
(function(){
if (xhr.readyState == 4 && xhr.status == 200) {
prop["success"](xhr); //執(zhí)行回調(diào)函數(shù)
}
})();
};
if (prop["params"]) {
url = url.indexOf("?") > -1 ? url + "&" + prop["params"] : url +"?" + prop["params"];
}
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(null);
}
}
else
if (!xhr && prop["fail"]) {
prop["fail"]();
}
}
}
function getData(){
var ajax = new Ajax({
url: "test.php",
method: "POST",
success: onComplete,
params: "name="+escape("沙鋒") //進(jìn)行編碼
});
}
function onComplete(obj){
alert(unescape(obj.responseText)); //進(jìn)行轉(zhuǎn)碼
}
</script>
</head>
<body>
<input type="button" value="Get Data" onclick="getData()"/>
</body>
</html>

注釋:
Ajax對象接受一個對象字面量為參數(shù),這個對象字面量中包含method,url,success,params,fail參數(shù)
method:"GET"或者"POST"
url:服務(wù)器端文件路徑
success:當(dāng)請求沒有錯誤的時候,調(diào)用的回調(diào)函數(shù),該回調(diào)函數(shù)帶一個XMLHttpRequest對象的參數(shù)
fail:當(dāng)請求錯誤的時候調(diào)用
params:當(dāng)使用POST方法發(fā)送請求是,params為參數(shù)字符串

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Ajax 對象 包含post和get兩種異步傳輸方式

Ajax 對象 包含post和get兩種異步傳輸方式: 代碼如下:/** * @author Supersha * @QQ:770104121 */ <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/strict.dtd> <html> <head> <met
推薦度:
標(biāo)簽: 對象 get ajax
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top