2013-01-02 32 views
0
<script type='text/javascript' src='js/jquery.js'></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#gt").click(function() { 

      $("#internal").load('second.jsp'); //not working.... 
      alert("loaded"); 

     }); 
    }); 
</script> 


    Happy new year................... 
    <a href="#" id="gt"> Click me </a> 

    <p id="para"></p> 

    <div id="internal"> a</div> 

我在eclipse中使用Liferay 6.1工作。 JQuery工作正常......我能夠改變分區的innerHTML和警告框也來臨..但不能夠加載頁面內的div。簡單的動態Web項目中相同的代碼正常工作。 任何機構可以幫我請...

+3

檢查在瀏覽器控制檯的請求,並看返回了什麼數據(如果有的話)和請求狀態你的提醒是無意義的'負荷()'是AJAX這是異步的。控制檯也會顯示是否需要請求 – charlietfl

+0

您正在使用的是哪個版本的jquery? – Jai

+0

jQuery JavaScript庫v1.8.3。 可以做<%@ include file =「second.jsp」%>。但是,如果我試圖加載使用JavaScript,它不會來......不顯示任何錯誤。 – Shibu

回答

3

確保您second.jsp是提供給你的網頁瀏覽器:你是在portlet環境,所以你不能假設./second.jsp指的是同一個目錄作爲JSP是在提供的內容你粘貼了你的問題,很可能你需要一個不同的路徑 - 如果你的jsp在/WEB-INF,你甚至需要將它移動到其他地方,這樣我t可以動態請求。

此外,如果second.jsp需要訪問門戶會話,則最好使用對您的portlet的資源請求。 <portlet:resourceURL/>將成爲你的朋友。

由於charlietfl建議在你的問題的評論,最好的辦法是使用你的瀏覽器的HTTP電平輸出(如螢火蟲),看看有什麼樣的要求實際上被髮送。另外,當你在門戶環境中時,你可能希望在給出的id上附加/加上<portlet:namespace/> - 否則當你的portlet被添加到頁面兩次時(或者某人其他選擇使用相同的ID)

+0

但是,如果我包括像<%@ include file =「second.jsp」%>,它工作完美... – Shibu

+0

如果它工作正常,如果我包括second.jsp,爲什麼它沒有得到使用JavaScript加載時? – Shibu

+1

@Shibu請諒解'<%@include >'與'$ {#divId} .load()'之間的區別。前者是一個靜態包含,即在編譯期間,後者是對服務器的請求,服務器將發送JSP的__content__作爲響應。因此,如上所述,您需要使用'',它將調用'serveResource'方法並傳遞JSP的__content__而不是JSP。所以'<%@include >'包含了JSP,而'$ {#divId} .load()'加載了服務器發送的JSP的__content__。 –

0

ü沒有指定任何回調函數加載後調用。

$('#reinternalult').load('second.jsp', function() { 
    alert('Load was performed.'); 
}); 

確保的second.jsp路徑是正確的,它正確輸出HTML

也儘量second.jsp直接從瀏覽器中調用,看看會

+0

但我粘貼的代碼是在動態web項目中工作。我嘗試了你給出的代碼..但沒有改變,second.jsp沒有加載到liferay中的分區中。 – Shibu

+0

回調不會使AJAX負荷,如果它不是擺在首位的工作和回調是可選 – charlietfl

+0

@charlietfl現在他可以確認警報只有阿賈克斯後談到是成功 –

0

而且使用。對什麼( )方法而不是.click()方法。這將節省您從DOM膨脹

$(文件)。就緒(函數(){ $( '身體')。在( '點擊', '#GT',函數(){

 $("#internal").load('second.jsp', function(){ 
       alert("loaded"); 
     }); 
    }); 

});