ajax异步提交form

第一种

 jQuery.ajax  同时jquery 序列化 ,调用一方法,name:value的形式

有调用超时相应,但传递参数不能为“汉字”

jquery 序列化 name:value的形式 变成字符串,不是数组

/*
function exportExcel1(){
		loading();
		
		//提交form中元素中 参数序列化  machineOpenedList为 form 的id
		var data1 = convertArray($("#machineOpenedList").serializeArray()); 
		alert(data1.trade);
		jQuery.ajax({
			  url: '<%=request.getContextPath()%>/json/machineOpenedjson.jspa',   //提交的action
			  dataType: "script",
			  timeout:10000, //加载时间
			  data:data1,
			  beforeSend:function(XMLHttpRequest){	  
			  },
			  success: function(data) {             //获取成功                                          
				     data = data.substr(1,data.length-6)
				    // window.open("<%=request.getContextPath()%>/tempexcel/"+data+".xls");
				     document.getElementById("fileUrlPath").innerHTML = "<a href=<%=request.getContextPath()%>/tempexcel/"+data+".xls  οnclick=\"javascript: loaded();target='_blank'  \" >样机开通分析表 (点击下载)</a>";
				   	document.getElementById("loadingImg").innerHTML="数据加载完成,请下载!"; 
				   	document.getElementById("searchB").disabled="";
					document.getElementById("exportB").disabled="";
				     
			  },
			  error: function(XMLHttpRequest, textStatus, errorThrown) { //数据获取失败
					//document.getElementById("loadDiv").innerHTML="数据加载错误!";
					alert("数据加载失败,请重新导出!");
					loaded();
			  }
		});
	
}
*/
//jquery 序列化     name:value的形式    变成字符串,不是数组
function convertArray(o) { 
	var v = {}; 
	for (var i in o) { 
		if (typeof (v[o[i].name]) == 'undefined') v[o[i].name] = o[i].value; 
		else v[o[i].name] += "," + o[i].value; 
	} 
	return v; 
} 


function loading(){
		document.getElementById("loadingImg").innerHTML="<img align=\"middle\" src=\"<%=request.getContextPath()%>\/images\/7.gif\" \/>正在加载数据,请稍后……"; 
		document.getElementById("loadingImg").style.display='block';
		document.getElementById("searchB").disabled="disabled";  //点击按钮不可用
		document.getElementById("exportB").disabled="disabled";
}
function loaded(){
	document.getElementById("loadingImg").style.display='none';
	 document.getElementById("fileUrlPath").innerHTML="";
	document.getElementById("searchB").disabled="";
	document.getElementById("exportB").disabled="";
	
}


第二种

 jQuery.ajax  不能传递汉字 参数,同时jquery 序列化 ,拼参数

function exportExcel(){
 	if(fun(2)){
		loading();
		var	v="?export=1&"+$("#searchfrom").serialize(); //拼参数 ,没变成字符串
		jQuery.ajax({
			  url: '<%=request.getContextPath()%>/json/appClassDetAnaStaList.jspa'+v,
			  dataType: "script",
			  timeout:10000,
			  beforeSend:function(XMLHttpRequest){	  
			  },
			  success: function(data) {                                                       
				     data = data.substr(1,data.length-6)
				    // window.open("<%=request.getContextPath()%>/tempexcel/"+data+".xls");
				     document.getElementById("fileUrlPath").innerHTML = "<a href=<%=request.getContextPath()%>/tempexcel/"+data+".xls	  οnclick=\"javascript: loaded();\" >应用到大类明细分析 (点击下载)</a>";
				     	document.getElementById("loadingImg").innerHTML="数据加载完成,请下载!"; 
				     		document.getElementById("searchB").disabled="";
					document.getElementById("exportB").disabled="";
				     
			  },
			  error: function(XMLHttpRequest, textStatus, errorThrown) {
					//document.getElementById("loadDiv").innerHTML="数据加载错误!";
					alert("数据加载失败,请重新导出!");
					loaded();
			  }
		});
		}
	
}


第三种 $.post可以传递汉字参数

function exportExcel(){
		loading();
		var data = convertArray($("#machineOpenedList").serializeArray());
		 $.post('<%=request.getContextPath()%>/json/machineOpenedjson.jspa', data,function(json){
				     document.getElementById("fileUrlPath").innerHTML = "<a href=<%=request.getContextPath()%>/tempexcel/"+json+" οnclick=\"javascript: loaded();\" >样机开通分析表 (点击下载)</a>";
				   	document.getElementById("loadingImg").innerHTML="数据加载完成,请下载!"; 
				   	document.getElementById("searchB").disabled="";
					document.getElementById("exportB").disabled="";
	 },"json"); 
}


 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值