Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在codeigniter中使用javascript刷新div_Php_Jquery_Codeigniter - Fatal编程技术网

Php 在codeigniter中使用javascript刷新div

Php 在codeigniter中使用javascript刷新div,php,jquery,codeigniter,Php,Jquery,Codeigniter,我有一个名为navbar.php的文件。我想让它刷新一个时间延迟,所以我使用了下面的js函数,它工作得很好。问题是当页面刷新时,它不会转到实际路径,而是将控制器和函数的名称添加到源路径,并返回404,请帮助 <div class="group" id="mydiv"> <!--some content --> </div> <script type="text/javascript"> $(document).ready(function ()

我有一个名为navbar.php的文件。我想让它刷新一个时间延迟,所以我使用了下面的js函数,它工作得很好。问题是当页面刷新时,它不会转到实际路径,而是将控制器和函数的名称添加到源路径,并返回404,请帮助

<div class="group" id="mydiv">
<!--some content -->
</div>

<script type="text/javascript">
$(document).ready(function () {
    setInterval(function() {
        $.get("application/views/templates/navbar.php", function (result) {
            $('#mydiv').html(result);
        });
    }, 15000);
});

$(文档).ready(函数(){
setInterval(函数(){
$.get(“应用程序/views/templates/navbar.php”,函数(结果){
$('#mydiv').html(结果);
});
}, 15000);
});

Chrome控制台日志显示:获取404(未找到)

尝试php文件的域相对路径

$(document).ready(function () {
setInterval(function() {
    $.get("/application/views/templates/navbar.php", function (result) {
        $('#mydiv').html(result);
    });
}, 15000);
});
但我认为您需要转到某个控制器并在那里创建函数,该函数将返回正确的值,因为如果视图文件没有从控制器中填充数据,那么访问该文件就没有太大意义,因为MVC模式应该是这样工作的

因此,在控制器中
RefreshController
create function
refresh\u navbar()

然后你的剧本会是这样的

$(document).ready(function () {
setInterval(function() {
    $.get("/refresh/refresh-navbar", function (result) {
        $('#mydiv').html(result);
    });
}, 15000);

使用相对于域的路径,从
/
开始。您不能直接调用view(可能可以,但这是一个非常糟糕的主意)。您必须调用控制器并从中加载navbar视图。它找到了文件,但开始返回内部服务器错误。500(内部服务器错误)当然可以,因为您无法直接访问视图。相反,创建函数
refreshNavbar()
,该函数将加载view
navbar.php
,并将正确的数据传递给它以正确呈现,然后您可以通过ajax获取该html
$(document).ready(function () {
setInterval(function() {
    $.get("/refresh/refresh-navbar", function (result) {
        $('#mydiv').html(result);
    });
}, 15000);