首页 > 建站教程 > JS、jQ、TS >  自己封装的打印带标题的ajax地址正文

自己封装的打印带标题的ajax地址

HBuilder是个非常不错的IDE,我爱模板网最近在用mui做APP时,一直在使用它。但是,有个非常大的遗憾,就是它没有提供类似的打印ajax地址的功能,而且,如果把打印函数封装,放在某个公共js文件里面,输出时,它显示所在文件都是在那个js文件中,并不能定位到具体输出这个内容的html文件,找起来非常麻烦。

我爱模板网就在mui原来的ajax方法上又再次进行简单的封装,新封装的ajax,在调用时,会自动打印出改ajax调用的接口名字,如“用户登录”、“用户列表”等,会打印出地址+参数,可以直接选择复制,放到浏览器中查看输出结果,还会输出这个ajax在哪个文件调用的,方法见下面,效果如下:

获取当前门店人数:http://xxx/app.aspx?m=branch&a=onlinecount&t=7E8EE834E2ED41FD48488290735CF001  ——>所在文件:mine.html at js/function.js:151

代码:
ajax : function(ajaxName,url,m,a,data,fn,watting,type,async){
	if(watting && !plus.nativeUI.showWaiting()){
		plus.nativeUI.showWaiting()
	}
	//打印地址
	if(data){
		var str = '';
		mui.each(data,function(key){
			str += '&'+key+'='+data[key];
		})
		console.log(ajaxName+':'+url+'?m='+m+'&a='+a+str+'  ——>所在文件:'+func.getHtmlDocName());
	}
	if(!type){
		type = 'get';
	}
	if(typeof async == 'undefined'){  //这里不能直接取反判断,因为有可能会传入false
		async = true;  //默认异步
	}
	mui.ajax({
		url:url+'?m='+m+'&a='+a,
		type:type,
		data:data,
		async:async, // true 异步, false 同步
		dataType : 'json',
		timeout:60000,
		success:function(data){
			if(watting){
				plus.nativeUI.closeWaiting()
			}
			if(fn){
				fn(data);
			}
		},
		error:function(xhr,type,errorThrown){
			if(watting){
				plus.nativeUI.closeWaiting();
			}
	        //mui.toast(JSON.stringify(xhr));
	    }
	});
}

//获取文件名
getHtmlDocName : function() {
    var str = window.location.href;
    //找到文件名
    str = str.substring(str.lastIndexOf("/") + 1);
    //去除后缀名
    //str = str.substring(0, str.lastIndexOf("."));
    return str;
}