ajax向后台传递参数的两种方式

我们知道,jsp向后台传递参数是通过标签实现的:

如:

标签通过提交数据,传递参数。

或者通过 发送url?name=value的方式传递参数。

后台通过getRequest.getParameter("");即可取得参数值

其实ajax是可以传递参数的。

var xmlhttp;
	var url = "xxx.action";
	if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	}else{// code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.onreadystatechange=function(){
	  if (xmlhttp.readyState==4 && xmlhttp.status==200){
		  alert(244);
		  //获得 XML 形式的响应数据。
		  //浏览器的 XML 解析器已完成了对xml的加载
		 var res =  xmlhttp.responseXML;
		/* 对xml文件的解析 
		   发生在浏览器xml解析器对xml加载之后
		*/
		 var id = res.getElementsByTagName("tid")[0].childNodes[0].nodeValue;
		 alert("id  ii is "+id);
		  //document.getElementById("display").innerHTML=id;
		  //jsp不做解析处理
		 document.getElementById("display").innerHTML=xmlhttp.responseText;
	  } 
	}
	xmlhttp.open("post",url,true);
	/* 
	//以form表单的形式发送数据,对应xmlhttp.send("str=122");
	//后台java代码直接通过request.getParameter("str");的方式获取
	xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded"); */
	
	/* //以普通文本的形式发送数据,其中包括json的形式,json对应xmlhttp.send("{str:122}");
	//后台java代码通过BufferedReader reader = request.getReader();方式获取其二进制编码格式的数据
	//不能直接通过request.getParameter("str");的方式获取
	//xmlhttp.setRequestHeader('Content-type','text/plain'); */
	
	//提交xml格式的数据
	xmlhttp.setRequestHeader("Content-Type", "text/xml");
	xmlhttp.send(xmltext);
	//xmlhttp.send("str=133");
 

你可能感兴趣的:(js)