通用的ajax请求工具

JavaScript 小智 585℃ 0评论
/*直接调用 ajaxRequest 方法,传递需要的参数,即可ajax请求,节约时间*/
/**
 * 通用的ajax请求函数
     * @param type  请求类型 get 或者 post
     * @param url   请求接口url
     * @param parmasMap  Map类型的参数,key与value方式,其中,value统一为字符串
     * @param async   是否异步请求
     * @param successFun   请求成功回调函数的名称
 */
function ajaxRequest(type, url, parmasMap, async, successFun) {
    //拼接参数
    var parmas = "{";
    
    //遍历map,获取参数
    if(parmasMap != null){
        parmasMap.each(function(key,value,index){
            parmas += "\"" + key + "\"" + ":" + "\"" + value + "\"";
            if(index < parmasMap.size() - 1){
                parmas += ",";
            }
        });
        parmas += "}";
    }
    
    $.ajax({
        type : type,
        url : url,
        data : parmasMap == null ? null : eval("(" + parmas + ")"),
        async : async,
        cache : false,
        dataType : "text",
        contentType : "application/json",
        success : function(data) {
            var funObj = new runFun(successFun, data);
            try {
                funObj.func();
            } catch (e) {
                console.log(e);
                console.log(successFun + "()方法不存在或方法内部代码执行有错误");
            }
        }
    });
}

/**
 * 根据方法名称,调用执行方法 
 *      successFun :请求成功回调的方法名称 
 *      data : 后台返回的数据
 * 
 */
function runFun(successFun, data) {
    this.func = new Function(successFun + "('" + data + "');");
}

本文固定链接:心知博客 » 通用的ajax请求工具
本站内容除特别标注外均为原创,欢迎转载,但请保留出处!

喜欢 (2)
发表我的评论
取消评论
表情

请填写您的昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址