加载内容

问题描述:

我发现了如何在jQuery的这个链接使用AJAX一个很好的例子: http://yensdesign.com/2008/12/how-to-load-content-via-ajax-in-jquery/加载内容

我添加的内容从index.html文件到我的view.php文件(我使用笨)。

一切看起来都不错,但是当您想切换到另一个区域时,页面内容不会改变(与之前显示的内容相同)。

我想也许有个问题,为menu.js文件传递数据到CodeIgniter view.php文件?

你可以给我任何建议,我该如何解决这个问题?我希望这对其他人也有帮助。

Menu.js文件:

$(document).ready(function(){ 
//References 
var sections = $("#menu li"); 
var loading = $("#loading"); 
var content = $("#content"); 

//Manage click events 
sections.click(function(){ 
    //show the loading bar 
    showLoading(); 
    //load selected section 
    switch(this.id){ 
     case "home": 
      content.slideUp(); 
      content.load("sections.html #section_home", hideLoading); 
      content.slideDown(); 
      break; 
     case "news": 
      content.slideUp(); 
      content.load("sections.html #section_news", hideLoading); 
      content.slideDown(); 
      break; 
     case "interviews": 
      content.slideUp(); 
      content.load("sections.html #section_interviews", hideLoading); 
      content.slideDown(); 
      break; 
     case "external": 
      content.slideUp(); 
      content.load("external.html", hideLoading); 
      content.slideDown(); 
      break; 
     default: 
      //hide loading bar if there is no selected section 
      hideLoading(); 
      break; 
    } 
}); 

//show loading bar 
function showLoading(){ 
    loading 
     .css({visibility:"visible"}) 
     .css({opacity:"1"}) 
     .css({display:"block"}) 
    ; 
} 
//hide loading bar 
function hideLoading(){ 
    loading.fadeTo(1000, 0); 
}; 

});

来自javascript的动画正在工作(加载/内容/节),但真正的内容不是从HTML文件加载。

正如我所说的,它看起来像这个脚本无法加载内容的view.php文件(这是笨“视图”文件)

任何帮助,高度赞赏。

+1

wheres javascript?的PHP? –

+0

您可以在该链接中找到的所有文件。 关于我的配置: Javascript文件位于apache服务器www目录中的/ scripts文件夹中,而view.php文件位于/application/view/lab/view.php文件夹中。 – jomajo

+3

@jomajo - RPM要求*您的*代码,而不是库代码或示例代码。当我们没有你的代码时,你如何期待别人解决你的问题?你是否要求你的机修工把你的车锁定在你的车库并隐藏钥匙然后把他转交给技术手册?可能不是一个苹果来比较苹果,但我希望它是有道理的,如果你想让人们回答你的问题,你必须向他们展示你使用的代码。 :) – jmort253

CodeIgniter需要服务sections.htmlexternal.html。它不会默认这样做。

假设view.php用于URL http://example.com/index.php/mycontroller/view,那么jQuery将发送对以下URL的请求。

http://example.com/index.php/mycontroller/sections.html 
http://example.com/index.php/mycontroller/external.html 

除非你告诉笨如何对这些请求做,笨就会返回一个404,你的页面内容将不会被更新。

+0

但如果我添加tihs行,在javascript:'content.load(“ sections.html #section_home”,hideLoading);'没什么改变。没有404错误。其他部分的内容与第一部分中的内容相同。 此外,如果我添加功能'部分'到我的控制器,与回声陈述,幻灯片只是上升,也没有发生。 – jomajo

+0

真棒,我解决了这个问题:d 只需将此添加到我的控制器: '功能部分() { $这 - >负载>视图( '视图/ sections.html'); }' – jomajo