封裝Ajax 請求

 1. Ajax封裝代碼

(function($) {
	$.extend({
		/**
		 * 通用POST請求方式, 
		 * url:請求路徑
		 * param:請求參數
		 * success:請求成功回調
		 * failed:請求失敗回調
		 */
		"postRequest" : function(url, param, success, failed) {
			var postJqXHR = $.post({
				url : url,
				data : param,
				contentType : 'application/json'
			});

			postJqXHR.success(function(result) {
				//返回結果判斷
				if (result.status == 200 && $.isFunction(success)) {
					success(result);
				} else {
					toastr.error(result.msg);
				}
			});
			postJqXHR.fail(function(errorObj) {
				//請求失敗
				if (errorObj != null)
					toastr.error(errorObj.msg);
				if ($.isFunction(failed)) {
					failed(errorObj);
				}
			});
		},

		/**
		 * 通用GET請求方式, 
		 * url:請求路徑
		 * param:請求參數
		 * success:請求成功回調
		 * failed:請求失敗回調
		 */
		"getRequest" : function(url, param, success, failed) {
			var getJqXHR = $.get({
				url : url,
				data : param
			});
			
			getJqXHR.success(function(result) {
				//返回結果判斷
				if (result.status == 200 && $.isFunction(success)) {
					success(result);
				} else {
					toastr.error(result.msg);
				}
			});

			getJqXHR.fail(function(errorObj) {
				//請求失敗
				if (errorObj != null)
					toastr.error(errorObj.msg);
				if ($.isFunction(failed)) {
					failed(errorObj);
				}
			});
		}
	});
})(jQuery);

1.1 調用代碼

$.getRequest("/get/reqUrl", param, function(result) {
	// 數據返回操做
});

解釋:getRequest接受4個參數,以上代碼第4個參數(失敗的回調函數)沒有給出,由於通用請求JS對「請求失敗」和「後臺返回結果」的信息都作了處理,調用方JS只注重業務返回結果的操做,這也是封裝Ajax請求的優勢(我的體會)。javascript

url:請求地址,java

param:請求參數json

success:請求成功的回調函數app

failed:請求失敗的回調函數函數

相關文章
相關標籤/搜索