2012-05-20 127 views
-3

我發現瞭如何在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

回答

0

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(「<?= base_url()?> sections.html #section_home」,hideLoading);'沒什麼改變。沒有404錯誤。其他部分的內容與第一部分中的內容相同。 此外,如果我添加功能'部分'到我的控制器,與回聲陳述,幻燈片只是上升,也沒有發生。 – jomajo

+0

真棒,我解決了這個問題:d 只需將此添加到我的控制器: '功能部分() { $這 - >負載>視圖( '視圖/ sections.html'); }' – jomajo