2013-10-21 3 views
0

File with Javascript가있는 JSP가 있습니다.자바 스크립트에서 서블릿으로 요청을 보내는 방법은 무엇입니까?

확인 버튼을 클릭하면 javascript 메소드가 호출됩니다. 이 메소드는 ID를 감지합니다. 이 ID를 내 서블릿에 보내려고합니다. 내 서블릿에서 getParameter (id)를 사용하여 ID를 얻고 싶습니다.

내 질문 알고 계십시오. 로컬 컴퓨터에이 기능을 구현했으며 제대로 작동합니다. 하지만 만약 내 소스 Coude를 서버에 배포하면 javascript 메소드가 호출되고 ID가 잘 감지되지만 메소드는 내 서블릿에 요청을 보내지 않습니다.

<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

'<% = request.getContextPath() %>'이 경고를 받으면 무엇을 보내고 있습니까? 지역에서 잘 작동하는 경우 서블릿 경로를 확인해야합니다. –

+0

질문을 자세히 작성하십시오. 무언가가 null인지 확인해야합니다. chrome 또는 mozilla의 요소를 검사하여 정확한 오류를 친절하게 표시합니다. – shikjohari

답변

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. 
     } 
    }); 
} 

희망 ..

0

를 사용하여 AJAX. 서블릿에서 응답을 다시받습니다.

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(); 
관련 문제