【问题标题】:jquery javascript doesnt work in codeigniterjquery javascript在codeigniter中不起作用
【发布时间】:2016-11-25 01:33:44
【问题描述】:

大家好,感恩节快乐!

我在codeigniter中包含这个脚本有些问题:

<script type="text/javascript" src="<?php echo base_url();?    application/views/jquery.js">
</script>
<script type="text/javascript">
    $(document).ready(function() {
        setInterval(function () {
            $('#show').load('<?php $this->load->view('data');?>')
//im tryng also $('#show').load('<?php echo base_url();?>application/views/data.php') but it doesnt work anyway
        }, 3000);
    });


</script>

这个功能出codeigniter工作没有问题吗? 也许我的配置文件有问题? 不知道...请写我对糟糕的英语表示抱歉 最好的问候

【问题讨论】:

  • 您是否在控制台中遇到任何错误?
  • @KanishkaPanamaldeniya 没有错误我不知道
  • 尝试将 jquery 脚本放在您的 &lt;head&gt;&lt;/head&gt; 区域

标签: javascript php jquery codeigniter


【解决方案1】:

您的src 似乎不正确

<script type="text/javascript" src="<?php echo base_url();?    application/views/jquery.js">

试着改成

<script type="text/javascript" src="<?php echo base_url(); ?>"application/views/jquery.js">

【讨论】:

  • 不确定你是否能逃脱奇数的“”
【解决方案2】:

另一种方法如下。

<script type="text/javascript" src="<?= base_url('application/views/jquery.js'); ?>">

在这种情况下,$config['base_url'] 有一个尾随 /

如果您尝试直接访问应用程序/视图下的文件,您将收到 404 错误。这是你的问题吗?

通常,您会将所有公共端 css 和 js 文件放在类似...的结构下。

Your Document Root Folder/
                         assets/
                               js/
                                  jquery.js
                               css/

那么你就会有

  <script type="text/javascript" src="<?= base_url('assets/js/jquery.js'); ?>">

然后你就可以正确访问了。

诀窍是...在浏览器上查看您的 HTML 源代码,查看您的 jquery 链接并单击它,然后查看漂亮的错误消息的内容。

如果一切正常,那么您将看到实际的文件源。

【讨论】:

  • 更新了我的答案 - 进行了一些调试...简而言之,您将 js 文件放在无法通过链接直接访问的位置!
  • GET localhost/airGym/application/views/jquery.js 403 (Forbidden) java:13 Uncaught ReferenceError: $ is not defined
  • 根据我的文件夹建议,它将是 localhost/airgym/assets/js/jquery.js 并且可以工作
  • 我没有文件夹资产...我必须创建或它的默认文件夹?
  • 如果您创建了文件夹,然后将文件移动到各自的位置,然后适当地更改链接,这将有所帮助。
【解决方案3】:

首先,您不能直接调用应用程序文件夹内的任何文件。 在您的主目录中创建一个新文件夹 js 并将您的 jquery.js 移动到该文件夹​​中,即 root_folder -> js -> jquery.js 那就试试这个例子

控制器

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Test extends CI_Controller {

    public function __construct ()
    {
        parent::__construct();
    }

    public function index()
    {
            $this->load->view('test');
    }

    public function hello()
    {
            $this->load->view('data');
    }
}

查看(test.php)

<!DOCTYPE html>
<html>
<head>
    <title>test project</title>
</head>
<body>
<div id="show"> This content will replaced by your interval response </div>

<script src="<?php echo base_url(); ?>js/jquery.js"></script>
<script type="text/javascript">

$(document).ready(function () {
    setInterval(function () {
            $('#show').load('<?php echo base_url(); ?>test/hello');
            console.log('test');
        }, 3000);
});

</script>

</body>
</html>

第二次查看文件(data.php)

<div class="hello">
    <p>Hello world</p>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-02
    • 2012-09-12
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 2015-03-07
    相关资源
    最近更新 更多