基於jquery的ajax.js

因爲jquery的 IE6 解析xml有bug,需要對jquery的ajax函數作下簡單的包裝:


var ajax_type = "post";
var ajax_cache = false;

/**
 * 使用ajax方式向服務器發送請求,如果執行成功,則將服務器返回傳給回調函數.
 * @param actionUrl 需要訪問的url
 * @param args 參數
 * @param func 回調函數
 *
 */
function ajaxJson(actionUrl, args, func){
	$.ajax({
		cache: ajax_cache,
		url: actionUrl,
		type: ajax_type,
		dataType: "json",
		data: args,
		success: function(data){
			func(data);
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			//done = false;
			alert("連接服務器失敗.");
		}
	});		
}

/**
 * 使用ajax方式向服務器發送請求,如果執行成功,則將服務器返回傳給回調函數.
 * @param actionUrl 需要訪問的url
 * @param args 參數
 * @param func 回調函數
 *
 */
function ajaxTxt(actionUrl, args, func){
	$.ajax({
		cache: ajax_cache,
		url: actionUrl,
		type: ajax_type,
		dataType: "text",
		data: args,
		success: function(data){
			func(data);
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			//done = false;
			alert("連接服務器失敗.");
		}
	});		
}

/**
 * 使用ajax方式向服務器發送請求,如果執行成功,則將服務器返回傳給回調函數.
 * @param actionUrl
 * @param args 參數
 * @param func 回調函數
 *
 */
function ajaxXml(actionUrl, args, func){
	$.ajax({
		cache: ajax_cache,
		url: actionUrl,
		type: ajax_type,
		dataType: ($.browser.msie)? "text": "xml",
		data: args,
		success: function(data){
			var xml = null;
			
			if (typeof data == "string") {  
				xml = new ActiveXObject("Microsoft.XMLDOM");  
				xml.async = false;  
				xml.loadXML(data);  
			} else {  
				xml = data;  
			}  
			
			func(xml);
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			//done = false;
			alert("連接服務器失敗.");
		}
	});	
}



發佈了65 篇原創文章 · 獲贊 18 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章