-3

我在这个链接上找到了一个关于如何在 jQuery 中使用 AJAX 的好例子:http: //yensdesign.com/2008/12/how-to-load-content-via-ajax-in-jquery/

我将文件中的内容添加index.html到我的view.php文件中(我正在使用 CodeIgniter)。

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

我认为可能存在问题,menu.js文件将数据传递给 CodeIgniterview.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 的动画正在运行 (loading/content/sections) ,但实际内容不是从 html 文件加载的。

正如我所说,看起来这个脚本无法将内容加载到 view.php 文件(这是 CodeIgniter 'view' 文件)

非常感谢任何帮助。

4

1 回答 1

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

除非您告诉 CodeIgniter 对这些请求做什么,否则 CodeIgniter 将返回 404 并且您的页面内容不会更新。

于 2012-05-20T01:36:01.910 回答