Codeigniter 4,从 AJAX 加载视图被复制

hgb9j2n6  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(147)

我有一个问题,我已经做了一个应用程序与最新版本的codeigniter 4.x.with完整 AJAX 系统(0重新加载页面)。
我解释:
1.我的系统,如果用户点击.className div,它会加载 AJAX 或简单加载所请求的页面。

$(".devmode").on("click", function(){
    Clear();
    $("#page_details").load("dev", function() {
        window.history.pushState("object or string", "Title", base_url+"dev");    
        console.log('✅ Page Loaded https://local.cms/public/dev');
    });
});

页面加载正确,其内容和网址被更改,到目前为止一切顺利。
因此,如果用户直接通过url加载页面:https://local.cms/public/dev
页面已断开(无布局视图),如果我在此页面中包含布局,则单击上面的div时将复制布局。
我找不到解决的办法。谢谢你的帮助

plupiseo

plupiseo1#

解决方法:

<?php
function is_ajax()
{
    return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
}
?>

<?php if(!is_ajax()): ?>
    <?= $this->extend('layouts/main-nomidle'); ?>
    <?= $this->section('content'); ?>
<?php endif; ?>

相关问题