封装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; }