如何将参数从javascript函数发送到servlet

时间:2012-08-12 19:02:18

标签: javascript servlets

我想借助javascript将一些参数发送到servlet ..... 在我的jsp页面中有一个参数“a [j]”,它是动态生成的,点击javascript函数调用,这个java脚本函数中的“ur”参数应该发送给名为Rank的servlet ..... 告诉我应该使用哪个函数来转发参数...

IN Jsp:

<a href="<%out.println(a[j]);%>" onclick="(rank('<%=a[j]%>'))"><%out.println(a[j+1]);%></a>

使用Javascript:(评级)

 <script type="text/javascript">

    function rank(ur)
    { ??????????("Rank?set="+ur);

    }
    </script>

在Servlet中(排名):

String s = (String)request.getParameter("set");

1 个答案:

答案 0 :(得分:1)

你可以做到

window.location="Rank?set="+ur;

document.body.innerHTML+='<form id="myform" action="Rank" method="get"><input name="set" value="'+ur+'" /></form>';
document.getElementById('myform').submit();

修改

啊,我认为您需要的是AJAX,这是一组在客户端用于创建异步Web应用程序的相互关联的Web开发技术。使用Ajax,Web应用程序可以异步(在后台)向服务器发送数据和从服务器检索数据,而不会干扰现有页面的显示和行为。

然后代码是:

var xmlhttp;
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){
    //only if you want the response
    document.getElementById("log").innerHTML=xmlhttp.responseText;
  }
}
xmlhttp.open("GET","Rank?set=" + ur,true);
xmlhttp.send();
}