我有一个带有Javascript文件的jsp。
如果我点击OK按钮,我会调用一个javascript方法。此方法检测id。 我想将此id发送到我的servlet。在我的servlet中,我想用getParameter(id)获取id:
知道我的问题: 我在我的本地机器上实现了它,它运行良好。但是,如果我在服务器上部署我的源Coude,将调用javascript方法并且将很好地检测id,但该方法不会向我的servlet发送请求。
<script language="text/javascript">
function removeLink(){
var id='';
var tmpcounter=0;
var check=0;
for (var counter = 0; counter < (document.getElementsByName("inProject[]").length); counter++) {
if (document.getElementsByName("inProject[]")[counter].checked) {
tmpcounter = tmpcounter+1;
}
}
for (var zaehler = 0; zaehler < (document.getElementsByName("inProject[]").length); zaehler++) {
if (document.getElementsByName("inProject[]")[zaehler].checked) {
check++;
if((check == tmpcounter) || (tmpcounter==1)){
id += 'id='+ document.getElementsByName("inProject[]")[zaehler].value;
}else{
id += 'id='+ document.getElementsByName("inProject[]")[zaehler].value +' OR ';
}
}
}
alert(id);
location.href='<%=request.getContextPath()%>/issues?action=uploaddeletelink&wherestatement=' + id;
close();
}
//-->
</script>
这是我的OK按钮:
<td align='right'><a class='funktion' href='javascript:removeLink();'>OK<IMG src="<%=request.getContextPath()%>/issuedb/system/layout/funktionpfeil.gif" width="14" height="9" border="0"></a></td>
在我的服务器上,该函数将被调用并且我很好地检测到id,但是此代码行不起作用,它将请求发送到我的servlet
location.href='<%=request.getContextPath()%>/issues?action=uploaddeletelink&wherestatement=' + id;
答案 0 :(得分:0)
为此目的使用Jquery ajax,这很简单方便。您需要做的就是使用jquery插件。
function removeLink(){
$.ajax({
url: "<%=request.getContextPath()%>/issues?action=uploaddeletelink&wherestatement="+id,
type: "POST",
success: function(data){
//If you want to return anything in jsp.
}
});
}
希望这会有所帮助..
答案 1 :(得分:0)
使用AJAX来调用servlet。从servlet获取响应。
var xmlHttpReq = false;
if (window.XMLHttpRequest) {
xmlHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttpReq.open('POST', strURL, true);
xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttpReq.onreadystatechange = function() {
if (xmlHttpReq.readyState == 4) {
alert(xmlHttpReq.responseText)
}
}
xmlHttpReq.send();