一、原生态
var xmlHttp = false;
try{
if( xmlHttp && xmlHttp.readyState != 0 ){
xmlHttp.abort();
}
if (!xmlHttp){
xmlHttp = getXMLHTTPObj();
}
if(xmlHttp){
var url = "pages/overlapanalysis_PostResult.jsp?dkName="+dkName+"&annlysisBusinessType="+annlysisBusinessType
+"&coordString="+coordString+"&mapID="+mapID+"&phyLayerID="+phyLayerID+"&phyLayerName="+phyLayerName
+"&fldNames="+fldNames+"&whereSql="+whereSql;
xmlHttp.open("POST",encodeURI(encodeURI(url)) , true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-Type","text/xml;charset=GBK");
//设置回调函数
xmlHttp.onreadystatechange = function () {
try{
if (xmlHttp.readyState == 1){
window.status = "叠加分析中......";
}else if (xmlHttp.readyState == 2){
window.status = "叠加分析完毕";
}else if (xmlHttp.readyState == 3){
window.status = "叠加分析完毕.";
}else if (xmlHttp.readyState == 4){
window.status = "叠加分析完毕.";
var retStr = xmlHttp.responseText;
document.getElementById("data_txt").value = retStr;
}
}catch (e){
alert("数据加载失败!:" + e);
}
}
xmlHttp.send(null);
}else{
alert("XMLHTTP对象创建失败");
}
}catch (e){
alert("数据加载失败!:" + e);
} //创建XMLHTTP对象
function getXMLHTTPObj(){
var obj = null;
try{
obj = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
obj = new ActiveXObject("Microsoft.XMLHTTP");
}catch(sc){
obj = null;
alert('创建XMLHTTP对象失败!');
}
}
if( !obj && typeof XMLHttpRequest != "undefined" ){ //not Microsoft Integer Explorer
obj = new XMLHttpRequest();
}
return obj;
}
$.ajax({
url:"pages/overlapanalysis_PostResult.jsp",
type:"post",
data:"dkName="+dkName+"&annlysisBusinessType="+annlysisBusinessType
+"&coordString="+coordStr+"&mapID="+mapID+"&phyLayerID="+phyLayerID+"&phyLayerName="+phyLayerName
+"&fldNames="+fldNames+"&whereSql="+whereSql,
async : true, //默认为true 异步
dataType:"html",
error:function(){
alert("叠加分析失败");
},
success:function(data){
setAttributeValuestt(layerType,coordStr,data);
}
});
当使用的参数较多且有的参数过长时建议使用jquery的,使用原生态的可以会截掉部分传递的参数(如coordStr是很多坐标串可能就会失败)。