欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

封装ajax访问通用模板

程序员文章站 2022-04-27 16:45:42
...

 

每次写ajax访问后台,都要写很长的ajax的内容,很多东西其实是公用的,所以想着封装一下ajax访问的通用模板,调用非常简单。封装的javascript如下,包括调用方法的示例

 

/**
 * ajax访问模板
 * 如果需要获取返回值,如果该值需作为下游流程判断重要依据,请将asyncParam设置为false 代表ajax是同步的,如果允许异步,则不需考虑
 * callBackFnParam是回调函数,暴露给用户,处理ajax返回后需要做的操作
 * 
 * 
 * 例子:  返回值
 *       var resultBean = itscPostAjax(formBean,'xxx.action',false);--异步
 *       var resultBean = itscPostAjax(formBean,'xxx.action');--同步
 *      
 *       回调函数
 *       itscPostAjax(formBean,'xxx.action',true,setGMData);
 *       
	     function setGMData(data)
	     {
	    	 if (data)
	    	 {
	        	 var gmVal = Number(data.GM).toFixed(2);
	        	 $("#budgetGM").html(gmVal+'%');
	        	 $("#currentGM").val(gmVal);    	 
	    	 }
	     }
 * author sj
 * @param formBean
 * @param urlParam
 * @param asyncParam
 * @param fnParam
 * @return
 */
function itscPostAjax(formBeanJson,urlParam,asyncParam,callBackFnParam)
 { 
        var tmpAsync = true;
        if (asyncParam===false)
        {
        	tmpAsync = false;
        }
        
        var resultBean = {};

        $.ajax({
            type: 'POST',
            url:   urlParam,
            data:  formBeanJson ,
            async: tmpAsync,  
            dataType: "json",
            success: function (data, textStatus){
                                 if (data.result=="success")
                                 {
                                	 resultBean=data;
                                	 if (callBackFnParam)
                                	 {
                                		 callBackFnParam(data);
                                	 }
                                 }
                                 else
                                 {
                                      alert(data.result);
                                      return null;
                                 }
                            },        
             error: function (jqXHR, textStatus, errorThrown) {
                       alert("系统内部错误!");
                       alert(jqXHR.responseText);
                   }
        });
           
        return resultBean;

    }