一个AJAX发起多个请求

一个AJAX发起多个请求

有的时候,同一个请求链接,需要传递不同的参数,发起多个请求。因此我采用了for循环。

1.此处是需要传递的参数

function behavioranalysisReqstue(type) {
	var typeStr = "newUsers";
	switch (type){
			case 1:
				typeStr = "newUsers";break;
			case 2:
				typeStr = "activeUsers";break;
			case 3:
				typeStr = "newUsersCount";break;
			case 4:
				typeStr = "activeUsersCount";break;
			case 5:
				typeStr = "orderVolume";break;
			case 6:
				typeStr = "userFollow";break;
			case 7:
				typeStr = "notActive";break;
	}
	return {
		"seachTime":seachTime,
		"startDate":startDate,
		"endDate":endDate,
		"type":typeStr,
		"index":type,
	}
}

2.此处为AJAX请求,调用了传递参数的方法。
注意:变量o定义为了常量,是因为AJAX是异步的,会导致AJAX里面switch不管是否执行完毕,都会取index的值。
其中根据behavioranalysisReqstue方法,返回的index值,调用不同的函数渲染页面。

var isPopupMsg=true;
	for (var i = 1; i < 8; i++) {
		const o=behavioranalysisReqstue(i);
		$.post(DYD.U(behavioranalysisList1Url),o,function(data,textStatus){
			layer.close(loading);
			var jsonData = DYD.toJson(data);
			if(jsonData.code==-1){
				if (isPopupMsg) {
					isPopupMsg=false;
					layer.msg(jsonData.msg);
				}
				return;
			}
			switch (o.index){
				case 1:
					
					//新增用户数
					$("#newAddUser").text(jsonData);
					break;
				case 2:
					//活跃用户数
					$("#dynamicUser").text(jsonData)
					break;
				case 3:
					//新增用户统计
					newAddUserData(jsonData);
					break;
				case 4:
					dynamic(jsonData);
					break;
				case 5:
					//成交量前十名客户
					userTopTen(jsonData.orderVolume);
					break;
				case 6:
	//				用户关注点分析表格数据
					focusCount_table(jsonData);
					break;
				case 7:
					//调用近期未活跃用户排行表格数据
					lazyUser_table(jsonData);
					break;
			}
		});
	}

猜你喜欢

转载自blog.csdn.net/TS_144636/article/details/103158540