加载内容
问题描述:
我发现了如何在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文件(这是笨“视图”文件)
任何帮助,高度赞赏。
答
CodeIgniter需要服务sections.html
和external.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,你的页面内容将不会被更新。
wheres javascript?的PHP? –
您可以在该链接中找到的所有文件。 关于我的配置: Javascript文件位于apache服务器www目录中的/ scripts文件夹中,而view.php文件位于/application/view/lab/view.php文件夹中。 – jomajo
@jomajo - RPM要求*您的*代码,而不是库代码或示例代码。当我们没有你的代码时,你如何期待别人解决你的问题?你是否要求你的机修工把你的车锁定在你的车库并隐藏钥匙然后把他转交给技术手册?可能不是一个苹果来比较苹果,但我希望它是有道理的,如果你想让人们回答你的问题,你必须向他们展示你使用的代码。 :) – jmort253