2016-04-29 126 views
0

我有我的index.jsp:AJAX調用隱藏jsp頁面

<%@ page pageEncoding="UTF-8"%> 
<html> 
    <head> 
     <meta charset="UTF-8"/> 
     <title>Hello</title> 
    </head> 
    <body> 
     Hello ! 
     <input type="hidden" name="ip" value="" id="ip"> 
    <script> 

     var ip = document.getElementById("ip"); 
     ip.value = userip; 

    </script> 
    </body> 
</html> 

我還有一個view.jsp的哪一個採取這樣的參數:當我打開這個

http://localhost:8200/view/view.jsp?ip=IP_VALUE

然後鏈接並用任何東西替換IP_VALUE,這個值會自動添加到我的數據庫中。

但現在我試圖hiddenly調用這個jsp頁面,我的意思是我想,當用戶打開我的頁面,我的JavaScript變量「IP」是過去對我的view.jsp的一樣:

http://localhost:8200/view/view.jsp?ip=「 ip「

但我希望用戶看不到,所以我不想要任何重定向或表單,只是我的jsp的AJAX隱藏調用。

view.jsp的是比我的index.jsp同一個文件夾

我如何能做到這一點hiddenly?

回答

1

試試這個:

<%@ page pageEncoding="UTF-8"%> 
<html> 
    <head> 
     <meta charset="UTF-8"/> 
     <title>Hello</title> 
    </head> 
    <body> 
     Hello ! 
     <input type="hidden" name="ip" value="" id="ip"> 
    <script> 

     var ip = document.getElementById("ip"); 
     ip.value = userip; 

     var xmlhttp = new XMLHttpRequest(); 

     xmlhttp.open('GET', 'view.jsp?ip' + userip, true); 

     xmlhttp.onreadystatechange = function() { 

      if (xmlhttp.readyState == 4) { 

       if(xmlhttp.status == 200) { 

        //alert(xmlhttp.responseText); 
       } 
      } 
     }; 
     xmlhttp.send(null); 

    </script> 
    </body> 
</html> 

您可以通過XMLHttpRequest對象中的任何值發送到任何頁面。

+1

感謝您的回答!其實我在工作,我會在3個小時內嘗試。無論如何,這種方法不會打開用戶的頁面?並且我不需要用** = **來寫「view.jsp?ip =」嗎?再次感謝 ! –

+0

其實ya並沒有從客戶端發送ip地址給服務器。因爲當你執行你的頁面view.jsp它已經可以訪問所有必要的IP地址。通過Ajax打開頁面就像點擊鼠標中心輪的鏈接時,它會在新選項卡中打開該鏈接)。但在Ajax的情況下,這個操作將在後臺流動) –

+1

好吧,這正是我想要的,我不希望用戶看到任何新的選項卡打開或任何重定向,只是留在我的index.jsp使用它,而我發送ip以隱藏的方式。非常感謝 ! –