我尝试编写一个Jquery。codeigniter中的Ajax。但它不会发布内容,而是所有页面都从头开始加载,当我单击links.So时,所有开始的动画都会再次显示。
我的ajax.js在header.php head部分中:
$("#sidebar-content ul li a").click( function(e){
e.preventDefault();
var target_url = $(this).attr('href');
$.ajax({
url: target_url,
type: 'POST',
data: target_url,
success: function(response) {
$('#content').html(response.msg);
}
});
return false;
});Menu.php文件是:
<!-- SIDEBAR -->
<div id="sidebar">
<div id="sidebar-content">
<!-- MENU -->
<ul id="menu">
<li class="current"><a href="<?php echo site_url('home'); ?>">ANASAYFA</a></li>
<li><a href="<?php echo site_url('about'); ?>">HAKKIMIZDA</a></li>我只想在主页面内容部门的变化。我怎样才能纠正代码?
编辑1:
这现在起作用了。但是我不得不使用#page而不是#content。
$("#sidebar-content ul li a").click( function(e){
e.preventDefault();
$('#page').load(this.href);
return false;
});发布于 2012-08-06 00:06:03
我认为你应该把return false放在click事件的末尾-
$("#sidebar-content ul li a").click( function(e){
// your existing stuff here
return false; // or e.preventDefault();
});下面是完整的代码,试试这个
$("#sidebar-content ul li a").click( function(e){
e.preventDefault();
$('#content').load(this.href);
return false;
});发布于 2012-08-06 00:02:59
要在容器中加载一些代码,只需使用load方法。类似于:
$( "#content" ).load( "your url here" );看看文档:http://api.jquery.com/load/
例如,去掉"a“标签并使用span。它不会触发超链接,您也不会停止传播。而不是使用"a“:
<span data-url="your url...">link</span>当您单击span进行加载时,您将获得"data-url“属性。
发布于 2012-08-06 00:18:59
尝试;
确保像这样链接jquery;
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">或
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js">并把你的javascript包在里面;
$(document).ready( function() {
});在您的网页部分中,以使代码运行。
$('#content').text(response.msg);而不是
$('#content').html(response.msg);https://stackoverflow.com/questions/11817846
复制相似问题