javascript向jsp传递参数的一种手段:使用xmlhttp对象

80酷酷网    80kuku.com

  javascript|js|xml|对象

  xmlhttp对象可以用来在不刷新页面的情况下传递参数,可作为一种javascript向jsp传递参数的一种方法。

  下面就是一个javascript向jsp传递参数的例子:

xmlhttp.jsp

<% page contentType="text/html; charset=GB2312" language="java" import="java.util.*" import="java.sql.*" %>
<html>
<head><title>n</title>
<script language="javascript">
function func()
{
xml = new ActiveXObject("Microsoft.XMLHTTP"); 
var post="<input type='text' name='name' value='1value'/>";//构造要携带的数据 
xml.open("POST","xmlhttp.jsp",false);//使用POST方法打开一个到服务器的连接,以异步方式通信 
xml.setrequestheader("content-length",post.length); 
xml.setrequestheader("content-type","application/x-www-form-urlencoded"); 
xml.send(post);//发送数据 
//返回结果
var v = xml.responseText;
//处理这个结果
document.write( '结果:' + v );


</script>
</head>
<body >
<%
     out.println("abcd");
     java.io.BufferedReader br =  request.getReader();
 String str = "";
 String srt=br.readLine();
 while(srt!=null)
 {
  str += srt+"\n";
  srt=br.readLine();
 }
 out.println(str);
  %>
</body>
</html>

  通过上面这种手段就可以把参数"<input type='text' name='name' value='1value'/>"这个字符串传递给本页面,在页面上显示一个文本框,当然你还可以传递一个xml文件,这样你就需要在服务器端的代码中解析这个xml文件,从中取得你所需要的参数

  你可以给任何页面传递参数,只需要改变xml.open("POST","xmlhttp.jsp",false);中的xmlhttp.jsp为你目标页面得url就可以了

  需要注意的是在低版的tomcat中会报出Read time out的错误,这是tomcat的原因,换一个高版本的就可以解决问题



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: