本篇文章展示了ajax實現(xiàn)請求的具體操作,代碼簡明扼要容易理解,絕對能讓你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
專注于為中小企業(yè)提供網(wǎng)站設計制作、網(wǎng)站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)云陽免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
Ajax(Asynchronous JavaScript and XML),直譯為“異步的JavaScript與XML技術(shù)”,是一種創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)頁開發(fā)技術(shù),用于創(chuàng)建快速動態(tài)網(wǎng)頁,由杰西·詹姆士·賈瑞特所提出。與傳統(tǒng)的Web應用相比,Ajax通過瀏覽器與服務器進行少量的數(shù)據(jù)交換就可以實現(xiàn)網(wǎng)頁的異步更新,在不重新加載整個網(wǎng)頁的情況下,即可對網(wǎng)頁進行更新。
第一步,創(chuàng)建XMLHttpRequest對象
第二步,注冊回調(diào)函數(shù)
第三步,配置請求信息,open(),get
第四步,發(fā)送請求,post請求下,要傳遞的參數(shù)放這
第五步,創(chuàng)建回調(diào)函數(shù)
//第一步,創(chuàng)建XMLHttpRequest對象 var xmlHttp = new XMLHttpRequest(); function CommentAll() { //第二步,注冊回調(diào)函數(shù) xmlHttp.onreadystatechange =callback1; //{ // if (xmlHttp.readyState == 4) // if (xmlHttp.status == 200) { // var responseText = xmlHttp.responseText; // } //} //第三步,配置請求信息,open(),get //get請求下參數(shù)加在url后,.ashx?methodName = GetAllComment&str1=str1&str2=str2 xmlHttp.open("post", "/ashx/myzhuye/Detail.ashx?methodName=GetAllComment", true); //post請求下需要配置請求頭信息 //xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //第四步,發(fā)送請求,post請求下,要傳遞的參數(shù)放這 xmlHttp.send("methodName = GetAllComment&str1=str1&str2=str2");//" } //第五步,創(chuàng)建回調(diào)函數(shù) function callback1() { if (xmlHttp.readyState == 4) if (xmlHttp.status == 200) { //取得返回的數(shù)據(jù) var data = xmlHttp.responseText; //json字符串轉(zhuǎn)為json格式 data = eval(data); $.each(data, function(i, v) { alert(v); }); } }
后臺方法
private void GetAllComment(HttpContext context) { //Params可以取得get與post方式傳遞過來的值。 string methodName = context.Request.Params["methodName"]; //QueryString只能取得get方式傳遞過來的值。 string str1 = context.Request.Form["str1"]; //取得httpRequest傳來的值,包括get與post方式 string str2 = context.Request["str2"]; Listcomments = new List (); comments.Add(methodName); comments.Add(str1); comments.Add(str2); //ajax接受的是json類型,需要把返回的數(shù)據(jù)轉(zhuǎn)給json格式 string commentsJson = new JavaScriptSerializer().Serialize(comments); context.Response.Write(commentsJson); }
擴展知識:
Ajax的優(yōu)缺點
使用Ajax的最大優(yōu)點,就是能在不更新整個頁面的前提下維護數(shù)據(jù)。這使得Web應用程序更為迅捷地回應用戶動作,并避免了在網(wǎng)絡上發(fā)送那些沒有改變的信息。
Ajax不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執(zhí)行。就像DHTML應用程序那樣,Ajax應用程序必須在眾多不同的瀏覽器和平臺上經(jīng)過嚴格的測試。隨著Ajax的成熟,一些簡化Ajax使用方法的程序庫也相繼問世。同樣,也出現(xiàn)了另一種輔助程序設計的技術(shù),為那些不支持JavaScript的用戶提供替代功能。
對應用Ajax最主要的批評就是,它可能破壞瀏覽器的后退與加入收藏書簽功能。在動態(tài)更新頁面的情況下,用戶無法回到前一個頁面狀態(tài),這是因為瀏覽器僅能記下歷史記錄中的靜態(tài)頁面。一個被完整讀入的頁面與一個已經(jīng)被動態(tài)修改過的頁面之間的可能差別非常微妙;用戶通常都希望單擊后退按鈕,就能夠取消他們的前一次操作,但是在Ajax應用程序中,卻無法這樣做。不過開發(fā)者已想出了種種辦法來解決這個問題,HTML5之前的方法大多是在用戶單擊后退按鈕訪問歷史記錄時,通過創(chuàng)建或使用一個隱藏的IFRAME來重現(xiàn)頁面上的變更。(例如,當用戶在Google Maps中單擊后退時,它在一個隱藏的IFRAME中進行搜索,然后將搜索結(jié)果反映到Ajax元素上,以便將應用程序狀態(tài)恢復到當時的狀態(tài))。
看完上述內(nèi)容,你們掌握ajax實現(xiàn)請求的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!