2014-05-16 115 views
0

我想用ajax让我的网站在不刷新整个网站的情况下打开链接(只有1 div的内容正在改变,页眉/页脚/导航总是相同的)。Ajax(加载函数)问题

在标题我加js:

<script type="text/javascript" src="js/general.js"></script> 

index.php文件看起来是这样的:

<?php 
    include '/gui/header.php'; 
    include '/gui/nawigacja.php'; 
?> 

<div id="content"></div> 

<?php include '/gui/footer.php'; ?> 

而且general.js看起来是这样的:

$(document).ready(function(e) { 
    $('#content').load('content/main.php'); 

    $('ul#slider li a').click(function() { 
     var page = $(this).attr('href'); 
     $('#content').load('content/'+ page + '.php'); 
     return false; 
    }); 

    $('ul#menu li a').click(function() { 
     var page = $(this).attr('href'); 
     $('#content').load('content/'+ page + '.php'); 
     return false; 
    }); 
}); 

它运作良好在本地主机(xampp)上,但是当我想将它移动到远程免费服务器进行测试时,加载功能不起作用(网站不会不愿意) d,但是当我删除“$('#content')。load('content/main.php');”它开始加载,但是然后我的ajax没有加载内容,因为没有ajax) 。

有什么办法来解决这个问题呢? 对于任何形式的帮助都不无帮助。

+3

您是否检查了控制台的错误?我会想象你需要使所有的URL相对于根目录:$('#content')。load('/ content/main.php');' - 注意'content'前面的'/'。 –

回答

0

你的JS看起来不错,我猜URL路径不正确。通过在content前添加/来使其相对于根目录。

$(document).ready(function(e) { 

    $('#content').load('/content/main.php'); 

    $('ul#slider li a').click(function() { 
    var page = $(this).attr('href'); 
    $('#content').load('/content/'+ page + '.php'); 
    return false; 
    }); 

    $('ul#menu li a').click(function() { 
    var page = $(this).attr('href'); 
    $('#content').load('/content/'+ page + '.php'); 
    return false; 
    }); 
}); 
+0

现在尝试了这一点,但不幸的是它没有奏效。有没有可能,因为服务器不好,它可能工作不正常?毕竟它在localhost上工作。 – Zyngi

0

也许问题在于缓存。 ? 试试看:

var d1 = new Date(); 
var cache = d1.getTime(); 
$('#content').load('/content/main.php?cache=' + cache);