我想更新http://bla/api的内容/ portlet,而不重新加载整个页面。
我尝试在 navigation.ftl 中使用jQuery .load()
:
<script type="text/javascript">
$(document).ready(function(){
$("nav#navigation ul li a").click(function(){
var page = $(this).attr("href");
$("#content").load(page);
});
});
</script>
我添加e.preventDefault()
以防止按照 Sudakatux 的建议发生默认功能并且它可以正常工作,但这并不能解决我的问题,因为整个页面(包括头部和主体)是每次点击菜单时都会在div#content
内包裹(请参阅下面的屏幕截图)。
答案 0 :(得分:4)
这不是Liferay的问题。由于您使用的是链接,因此您遗漏了preventDefault()
:
<script type="text/javascript">
$(document).ready(function(){
$("nav#navigation ul li a").click(function(e){
e.preventDefault(); //You are missing this line
var page = $(this).attr("href");
$("#content").load(page);
});
});
</script>
如果你使用了一个按钮(不提交),就不会发生这种情况。意义不是真正的Liferay的错误&#39;