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



我有一个问题,我用最新版本的codeigniter 4.x做了一个应用程序。使用完整的ajax系统(0重新加载页面)。

我解释:

1。在我的系统中,如果用户单击。classnamediv,它会加载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也改变了,到目前为止一切顺利。

,如果用户直接通过url: https://local.cms/public/dev

加载页面页面被打破了(没有布局视图),如果我在这个页面中包含布局,那么当上面的div被点击时,布局将被复制。

我找不到解决办法。谢谢你的帮助

解决方案:

<?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; ?>

最新更新