2013-01-02 30 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"); 
     }); 
    }); 

});