1. 程式人生 > 其它 >jquery封裝ajax工具

jquery封裝ajax工具

技術標籤:javascript

  1. 封裝ajax工具類
    var httpUtil = {};
    httpUtil.dealAjaxRequest4SimpleParam = function(serverURL,simpleJsonData){//非同步操作
         var defer = $.Deferred();
         var option = {
           url:serverURL,
           type: 'POST',
           timeout : 100000, //超時時間設定,單位毫秒
           data:simpleJsonData,
           dataType:'json'
    , error: function (err) { defer.reject(err) ; }, success:function (result) { defer.resolve(result); } }; $.ajax(option); //傳送ajax請 return defer.promise() ; } //使用contentType:'application/json'後, // data必須json字串,且後臺必須使用@RequestBody接收資料 httpUtil.
    dealAjaxRequest4JSObj = function(serverURL,jsObjData){//非同步操作 var defer = $.Deferred(); var option = { contentType:'application/json' , url:serverURL, type: 'POST', timeout : 100000, //超時時間設定,單位毫秒 data:JSON.stringify(jsObjData), dataType:'json', error:
    function (err) { defer.reject(err) ; }, success:function (result) { defer.resolve(result); } }; $.ajax(option); //傳送ajax請 return defer.promise() ; }
  2. 使用示例
    // 使用示例後臺使用@RequestBody獲取
    function demo001() {
        var serverURL = "/api/user/add" ;
        var jsObjData = {"username": "yicj","addr":"bjs"} ;
    	// spring mvc接收@RequestBody註解的引數
        var ajaxing = httpUtil.dealAjaxRequest4JSObj(serverURL,jsObjData) ;
        $.when(ajaxing).then(function (resp) {
            console.info(resp)
        }, function (err) {
            console.error(err) ;
        }) ;
    }
    // 使用示例後臺使用@RequestBody獲取
    function demo002() {
        var serverURL = "/api/user/add" ;
        var jsObjData = {"username": "yicj","addr":"bjs"} ;
    	//後臺public JsonResult<String> add(String username, String addr){}
        //後臺也可獲取public JsonResult add2(User user){}
        var ajaxing = httpUtil.dealAjaxRequest4SimpleParam(serverURL,jsObjData) ;
        $.when(ajaxing).then(function (resp) {
            console.info(resp)
        }, function (err) {
            console.error(err) ;
        }) ;
    }