1. 程式人生 > >ajax常用實例代碼總結參考

ajax常用實例代碼總結參考

瀏覽器兼容 var edi else article ndt ons font 名稱

http的交互方法有四種:get、post、put(增加數據)、delete(刪除數據)

put和delete實現用的是get和post get方式 頁面不能被修改,只是獲取查詢信息。但是提交的數據會通過鏈接暴露在外,使用get請求會被人拿到登陸的用戶名和密碼,url長度有限制 post方式 頁面可以修改,比如回帖、評論。但是提交的數據不會暴露在外,url長度無限制,但是提交大小會有限制 默認不被緩存,不在同一個請求域下遠程請求,post都會被轉為get 推薦兩篇不錯的jquery教程:《jQuery的起點教程》和《使用 jQuery 簡化 Ajax 開發》
dataType:string
響應的數據類型主要是mime信息,不填寫的話會智能判斷。一般MIME(多功能網際郵件擴充協議)被定義在Content-Type header中。 一般包括有:xml、html、script、json、jsonp、text $.ajax,$.get/$.post $.ajax:執行異步復雜的請求,如果不需要在出錯時執行可以用$.get或$.post替代
jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
jQuery.get(url,data,success(response,status,xhr),dataType)
url(必需,其他為可選):要發送的url
data:數據
success:成功時的操作
success(data, textStatus, jqXHR):(處理後的數據、請求狀態字符串、jq1.4中xhr對象)
dataType:響應的數據類型

實例:
 1 $.ajax({
 2     type:post,            //String 默認為GET
 3     timeout:2000,        //Number 設置超時時間(毫秒)
 4     url:{"url"},            //String 發送請求的地址
 5     dataType:"json
" //String xml、html、script、json、jsonp、jQuery、text 6 data:{ur;:url}, 7 //或者data可以如以下寫法 8 data:{username:$("#username").val(),content:$("#content").val()}, 9 //GET請求中將附在URL後;對象必須為key/value形式。如果是數組,jQuery將自動為不同值對應同一名稱例如:{foo:["bar1","bar2"]}轉換為&foo=bar1&foo=bar2 10 //提交前回調函數(發送請求前可以修改XMLHttpRequest對象的函數) 11 beforeSend:function(XMLHttpRequest){ 12 this; //調用本次Ajax請求時傳遞的options參數 13 }, 14 //請求成功後處理(data可能是xmlDoc、jsonObj、html、text;textStatus(請求狀態):success、error、notimodified、timeout) 15 success:function(data,textStatus){ 16 this; //調用本次Ajax請求時傳遞的options參數//window.location.href = data.getCodeUrl;/*location.reload();*/ 17 }, 18 //請求失敗後處理(通常情況下textStatus和errorThrown只有其中一個包含信息) 19 error: function (XMLHttpRequest,textStatus,errorThrown) { 20 this; //調用本次Ajax請求時傳遞的options參數 21 console.log("error-----------"); 22 }, 23 //請求完成後處理(請求成功或失敗時均調用) 24 complete:function(XMLHttpRequest,textStatus){ 25 this; //調用本次Ajax請求時傳遞的options參數 26 } 27 });
接上,success擴展
success: function(xml){
$(xml).find(item).each(function(){
var item_text = $(this).text();
 
$(<li></li>)
.html(item_text)
.appendTo(ol);
});
}
load:請求加載數據並返回到指定位置。一般為常用為:點擊或輸入文本框在指定位置加載出文本,
如果提供數據的是方法,得用post或者get才能生效
實例:
1 $("button").click(function(){
2 $("div").load(demo_ajax_load.txt);
3 });
4 $("#result").load("ajax/test.html", function() {
5 alert("Load was performed.");
6 });

瀏覽器兼容
1 function() getXhr{
2     var xhr;
3     if(window.XMLHttpRequest){
4         xhr=new XMLHttpRequest();//非ie瀏覽器
5     }else{
6         xhr=new ActiveXobject(Microsoft.XMLHttp);//ie瀏覽器
7     }
8 }

/*保證返回內容包含text/html,超文本文件
* MIME(多功能網際郵件擴充協議)
* 被定義在Content-Type header中
*常用的有:
超文本標記語言文本 .html,.html text/html 
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
GIF圖形 .gif image/gif
* */
1 xhr.overrideMimeType(text/html);
var xhr =new XMLHttpRequest(); →類似於jq的$.ajax
xhr.open("get/post","/*/*/url",true); →類似於jq的type,url,async
xhr.responseType="text"/"blob"/"json"; →類似於jq的dataType
xhr.send(); →類似於jq的success 推薦參考:原生和jQuery的ajax用法 推薦參考精華:AJAX(用法總結-精華版) JQuery中的AJAX詳解 javascript教程ajax Ajax小實例驗證登錄框---經驗總結 使用jquery簡化ajax的開發

ajax常用實例代碼總結參考