亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery與Ajax以及序列化

2019-11-20 10:39:14
字體:
來源:轉載
供稿:網友

關于AJAX

所謂Ajax,全名Asynchronous JavaScript and XML。(也就異步的JS和XML)

簡單點來講就是不刷新頁面來發送和獲取數據,然后更新頁面。

Ajax的優勢

•無需插件支持
•優秀的用戶體驗
•提高web程序的性能
•減輕服務器和帶寬的負擔

Ajax的不足

•瀏覽器兼容不足
•破壞瀏覽器前進和后退按鈕的正常功能
•對搜索引擎的支持不足
•開發和調試工具的 缺乏

好吧,這些都是幾年前的不足。技術的發展很快,這些不足也會慢慢彌補,起碼現在調試Ajax并不難。

Ajax的核心是XMLHttpRequest對象,它是Ajax實現的關鍵。

傳統的實現Ajax的例子就不舉了,太蛋疼了,我都沒記,網上一搜一大堆。

關于jQuery中的Ajax

$.ajax()方法是封裝了最原始的js的Ajax方式。

load(),$.get(),$.post()是封裝了$.ajax()得來

$.getScript()和$.getJSON()是進一步的封裝。

•load()方法 •用處:載入遠程HTML代碼并插入DOM中,通常用于獲取靜態的數據文件,結構為:load(url [,data] [,callback])。 •url為請求的地址
•data可選,為發動到服務器的參數對象
•callback為回調函數,請求不論成功還是失敗都調用
•載入頁面的時候甚至可以在地址里加上篩選

$("#resDiv").load("test.html .myClass");//這個div里只載入test.html頁面里面 樣式為myClass 的元素//舉一個完整的例子$(function(){$("#resDiv").load("text.php",{name:"troy",textInfo:"hello"},function(responseText,textStatus,XMLHttpRequest){//responseText:請求返回的內容//textStatus: 請求狀態:success、error、notmodiffied、timeout 4種 //XMLHttpRequest: XMLHttpRequest對象});}); 

•$.get()方法 •明顯的看到調用的方式不同,所以說這函數是jQuery的全局函數。而此前的方法和load()這種都是對jQuery對象進行操作
•$.get()方法使用GET方式來進行異步請求,結構為:$.get(url [,data] [,callback] [,type]) •前三個參數就不說了,唯一不同的是callback只有請求成功才調用
•type參數為服務器端返回內容的格式,包括xml,html,script,json,text和_default
•例子

$("#send").click(function()$.get("get1.php",{username:$("#username").val(),content:$("#content").val()},function(data,textStatus){//data: 返回的內容,可以是XML文檔、JSON文件、HTML片段//textStatus: 請求狀態:success、error、notmodiffied、timeout 4種})}) 

•$.post()方法 •它與get方法的玩法一樣,不過一個是get方式,一個是post方式。
•$.getScript()方法 •有的時候頁面初次加載沒必要獲取所有的腳本,所以jQuery提供了getScript這種方法來直接加載js文件。
•例子

$('#send').click(function(){$.getScript('test.js',function(){//do something 這個時候腳本已經加載了,不需要再對js文件進行處理});}); 

• $.getJSON()方法 •用于加載JSON文件,用法同上,只不過返回的json數據而已

$('#send').click(function(){$.getJSON("myurl",function(data){var html="";$.each(data,function(commentIndex,comment){html+=commentIndex+":"+comment['username']+";";})alert(html);})});//注意一下ecch這種玩法,同樣是個全局函數。他的回調函數中,第一個參數為成員的索引,第二個為變量和內容 

順便擴展一下,跨域訪問的JSONP

$("#send").click(function(){$.getJSON("http://www.某網站.com/services/getMyCmpJson?tags=car&tagmode=any&format=json&jsoncall back=?",function(data){//某些操作})})

//JSONP是個非官方協議,采用json與<script>標記結合的方式,主要用于web應用程序跨域

•$.ajax()方法 •這個方法是jQuery最底層的Ajax實現,所以理所當然更加強大以及復雜。

雖然它只有一個參數,但是這個參數對象包含的屬性非常多,不過都是可選的。以下列出所有屬性: • url:默認當前頁地址,也可以手動寫請求的地址

•type:默認為GET,也可以寫POST
•timeout:設置請求超時時間(毫秒)
•data:發送的數據
•dataType:預期服務器返回的數據類型。
•beforeSend:發送前的調用的函數,如果次函數返回false將取消本次ajax請求。

function(XMLHttpRequest){//XMLHttpRequest是唯一的參數this;//調用本次Ajax請求時傳遞的options參數} 

•complete:請求完后,無論成功還是失敗都調用。

function(XMLHttpRequest,textStatus){//textStatus描述成功請求類型this;//調用本次Ajax請求時傳遞的options參數}

•success:請求成功后的回調函數

function(data,textStatus){//data為成功返回的數據this;//調用本次Ajax請求時傳遞的options參數}

•error:請求失敗調用的函數

function(XMLHttpRequest,textStatus,errorThrown){// textStatus為錯誤信息,errorThrown為捕獲的錯誤對象,通常只有其中一個包含信息this;//調用本次Ajax請求時傳遞的options參數} 

•global:默認為true。表示是否觸發全局Ajax事件。
•序列化元素 •serialize()方法 •它能夠將DOM元素內容序列化為字符串

//不僅可以序列化整個表單,也可以序列化單個元素,并且都是自動編碼過的$.post("myurl",$("#form1").serialize(),function(data,textStatus){$("#resText").html(data);})

•serializeArray()方法 •它能夠將DOM元素內容序列化為JSON格式
•$.param()方法 •這是serialize方法的核心,用來對一個數組或對象按照鍵值對進行序列化

var obj={a:1,b:2,c:3};var k=$.param(obj);//輸出為a=1&b=2&c=3 

•jQuery中的Ajax全局事件 •ajaxStart()方法:當Ajax請求開始就觸發
•ajaxStop()方法:當Ajax請求結束就觸發

<div id="loading">加載中...</div>$("#loading").ajaxStart(function(){$(this).show();//ajax開始請求就顯示加載中});$("#loading").ajaxStop(function(){$(this).hide();//ajax開始結束就隱藏加載中}); 

•ajaxComplete():當Ajax請求完成就觸發
•ajaxError():當Ajax請求發生就觸發,捕捉到的錯誤可以作為最后一個參數傳遞
•ajaxSend():當Ajax請求發送前就觸發
•ajaxSuccess():當Ajax請求成功就觸發
•如果想使某個Ajax請求不受全局事件的影響,可以在$.ajax中將global屬性設置為false,這個在前面已經講過了。當然也可以在ajax請求前:

$.ajaxPrefilter(function(options){//每次發送前請求options.global=true;})

好吧,寫完了。最后順帶提一下,setTimeout("doMethod()",4000);為4s后執行doMethod這個函數。

//一個簡單的定時發送功能function updateMsg(){$.post("myurl",{time:timestamp},function(xml){//do something});setTimeout("updateMsg()",4000);}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久中文字幕| 日韩精品在线视频观看| 久久亚洲成人精品| 中文字幕亚洲精品| 亚洲aⅴ男人的天堂在线观看| 亚洲三级黄色在线观看| 91久久国产精品| 中文字幕精品av| 亚洲一区999| 九九热这里只有在线精品视| 久久福利视频导航| 亚洲欧美精品伊人久久| 6080yy精品一区二区三区| 91精品国产自产在线| 亚洲精品国精品久久99热一| 高清欧美一区二区三区| 国产精品99久久久久久人| 国产精品免费在线免费| 超薄丝袜一区二区| 亚州欧美日韩中文视频| 欧美午夜无遮挡| 日韩欧美精品在线观看| 亚洲日韩第一页| 国产精品999999| 成人在线小视频| 久久国产精彩视频| 国产91色在线|| 中文字幕精品网| 最近2019年中文视频免费在线观看| 日本高清视频一区| 欧美激情一区二区三区高清视频| 国产精品手机播放| 91精品视频一区| 亚洲天堂视频在线观看| 亚洲精品小视频在线观看| 国产成人精品国内自产拍免费看| 午夜精品在线观看| 国产成人福利夜色影视| 久久久久久久999精品视频| 26uuu亚洲伊人春色| 日韩中文在线观看| 成人午夜激情免费视频| 大胆人体色综合| 欧美黑人xxxⅹ高潮交| 成人免费直播live| 欧美网站在线观看| 成人黄色片网站| 亚洲人成77777在线观看网| 亚洲二区中文字幕| 亚洲欧美激情精品一区二区| 国产一区二区三区高清在线观看| 国产日本欧美一区二区三区在线| 亚洲高清一区二| 久久精品99国产精品酒店日本| 91精品国产成人| 欧美成人一区二区三区电影| 国产99在线|中文| 久久综合网hezyo| 久久99久久99精品免观看粉嫩| 大荫蒂欧美视频另类xxxx| 日韩国产中文字幕| 欧美高清理论片| 成人国产精品久久久| 日本伊人精品一区二区三区介绍| 午夜精品久久久久久久久久久久久| 伊人久久免费视频| 亚洲人成电影在线| 在线播放日韩精品| 国产美女久久精品香蕉69| 国产不卡一区二区在线播放| 国产精品都在这里| 亚洲v日韩v综合v精品v| 亚洲精品黄网在线观看| 精品视频久久久久久| 国产午夜精品久久久| 在线视频免费一区二区| 欧美日韩性视频在线| 亚洲91精品在线观看| 色噜噜久久综合伊人一本| 中文字幕亚洲综合久久筱田步美| 欧美精品久久一区二区| 色99之美女主播在线视频| 国产日韩精品在线播放| 国产精品免费看久久久香蕉| 国产在线观看91精品一区| 性欧美办公室18xxxxhd| 国产日韩精品入口| 97在线观看免费高清| 中文字幕国产亚洲2019| 亚洲精品mp4| 亚洲精品wwww| 欧美精品在线网站| 亚洲国产精品人人爽夜夜爽| 精品久久久一区二区| 久久影院免费观看| 日韩禁在线播放| 在线播放精品一区二区三区| 91在线视频精品| 精品亚洲aⅴ在线观看| 亚洲精品第一国产综合精品| 久久久欧美一区二区| 国产69精品99久久久久久宅男| 久久久精品在线| 中文字幕9999| 国产一区二区视频在线观看| 2020久久国产精品| 中文字幕综合在线| 97av视频在线| 欧美电影在线观看网站| 亚洲国产成人av在线| 国产欧美精品xxxx另类| 国产精品狼人色视频一区| 国产一区二区久久精品| 日韩精品在线视频| 91精品在线影院| 欧美大片免费观看在线观看网站推荐| 亚洲另类xxxx| 夜夜嗨av色一区二区不卡| 欧美激情一区二区三级高清视频| 国内精品久久久久影院 日本资源| www.久久色.com| 国产91精品久久久久久| 最近免费中文字幕视频2019| 成人精品久久一区二区三区| 国模精品系列视频| 国产精品在线看| 另类美女黄大片| 亚洲在线一区二区| 久久精品人人做人人爽| 国产精品久久久久久久久男| 日韩天堂在线视频| 最近2019中文免费高清视频观看www99| 最近2019中文字幕在线高清| 欧美成人免费在线观看| 尤物yw午夜国产精品视频| 国产成+人+综合+亚洲欧洲| 国产精品1区2区在线观看| 国产精品久久久久久久久粉嫩av| 国产成人欧美在线观看| 国产精品影片在线观看| 亚洲人成伊人成综合网久久久| 欧美亚洲国产视频| 国产精品偷伦免费视频观看的| 亚洲韩国欧洲国产日产av| 亚洲国产精品久久久久| 亚洲精品国产综合区久久久久久久| 福利一区福利二区微拍刺激| 日韩色av导航| 精品久久久久久久久久久| 中文字幕日韩高清| 91精品久久久久久久久青青| 性欧美亚洲xxxx乳在线观看| 一区二区三区国产视频| 亚洲人线精品午夜| 国产精品视频专区| 日韩成人在线视频网站| 91中文字幕在线| 久久久久久网站| 在线日韩精品视频| 国内精品视频在线| 欧美亚洲第一页| 成人黄色av免费在线观看| 国产91ⅴ在线精品免费观看| 久久国产精品亚洲|