国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js jquery ajax的幾種用法總結(jié)(及優(yōu)缺點介紹)

2019-11-20 21:11:10
字體:
供稿:網(wǎng)友

這篇文章,是我不知道什么是ajax到熟練運用ajax的一個歷程。

一,最原始的方式來運用ajax

復(fù)制代碼 代碼如下:

<SCRIPT language=javascript>
var xmlHttp;

function createXMLHttpRequest() {

if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}

//定義了一個ajax的入口函數(shù),供用view層用戶調(diào)用

function show_type(type_id) {
// alert(id);
createXMLHttpRequest();
var url = "../ajax/shop_type_status.php?id="+type_id+"&time="+Math.random();
xmlHttp.open("GET", url, true);

xmlHttp.onreadystatechange = function(){ show_back();}
xmlHttp.send(null);
}

//回調(diào)函數(shù),將從調(diào)用的php文件中取得的數(shù)據(jù),反還給用戶

function show_back() {

if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
//document.getElementById('cat_id').value = id;
document.getElementById('type_status').innerHTML = xmlHttp.responseText;
}
}
}
</SCRIPT>


個人分析:這種方法挺好的,簡單靈活,但是有一點不好,就是冗余代碼比較多,不利于后期維護。

二,js端封裝的ajaxrequest

這個東西,對于習(xí)慣了用javascript的人來說,是一個不錯的選擇,它是裝上面所說的那種方法簡單的封裝了一下,做了統(tǒng)一的調(diào)用。感覺不錯,代碼挺多的就不貼出來了,大家可以到google搜ajaxrequest。

//ajaxrequest.js里面有一個這個方法這個方法是供view端調(diào)用的接口,接口可以有多個,根據(jù)情況自己加

復(fù)制代碼 代碼如下:

function ajax_action_fun(url,fun) {
var ajax=new AJAXRequest;
ajax.get(
url,
function(obj){alert(obj.responseText);fun()}
);
}

//html里面調(diào)用這個接口
get_shop_son_list   //是回調(diào)后執(zhí)行的方法名

ajax_action_fun("../ajax/shop_ajax.php?type=1",get_shop_list);

function get_shop_list(resValue){
//這里就是你要的操作
}


個人分析:它彌補了第一種方法的不足,統(tǒng)一調(diào)用接口,可以設(shè)置回調(diào)函數(shù),缺點如果有的話,不在ajaxrequest本身而在于javascript,舉個例子吧

javascript:如果我想調(diào)用ajax_action_fun這個方法我要在html里加個東西

<a class="showshop" href='javascript:' onclick=ajax_action_fun("../ajax/shop_ajax.php?type=1",get_shop_list);>顯示店</a>

jquery:用它可以盡量把js和html分開,這對于后期維護是很幫助的,會節(jié)省很多時間,例如,全站換html;

$(".showshop").bind("click", {url: "../ajax/shop_ajax.php?type=1",function:get_shop_list}, ajax_action_fun);
這樣就可以不用在html里面寫onclick事件了

三,jquery的ajax
1)

復(fù)制代碼 代碼如下:

$.ajax({
   type: "POST",
   url: "test.php",           //調(diào)用的php文件
   data: "name=zhang",
   success: function(msg){            //回調(diào)函數(shù)
     alert( "Data Saved: " + msg );       //這里是操作
   }
 });

2)
//調(diào)用test.php文件,傳個參數(shù),data是返回的數(shù)據(jù)
復(fù)制代碼 代碼如下:

$.post("test.php", { name: "zhang"},
   function(data){
     alert("Data Loaded: " + data);
   });

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 托克逊县| 万年县| 司法| 威信县| 应城市| 新疆| 乌兰浩特市| 高唐县| 巫溪县| 乌兰察布市| 顺平县| 嵊泗县| 大田县| 锦州市| 井研县| 齐河县| 瑞安市| 山阴县| 张家港市| 营口市| 玉山县| 濮阳市| 文安县| 石家庄市| 金山区| 兴国县| 龙川县| 南澳县| 织金县| 右玉县| 西乡县| 富源县| 仁寿县| 海南省| 古田县| 楚雄市| 嘉义市| 阜康市| 营山县| 文登市| 台州市|