连府 发表于 2014-5-28 17:08:37

ci中怎么把js引入进去

不管我怎么引入,都不好使,求助

aqxinzhuan 发表于 2014-9-11 08:55:51

在view文件,例如
<script src="<?=base_url()?>public/js/jquery.min.js"></script>

coderones 发表于 2016-2-10 17:02:30

williamzsq 发表于 2015-12-30 14:01
coderones, 能详细说一说你的rewrite规则吗?我也碰到一样的问题,万分感谢!

我的规则是这样的 server {
      listen       81;
      server_namelocalhost;
                index index.html index.htm index.php;
                root /alidata/www/ci;
                       
                location ~ \\.php{
                       fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            ##########################################pathinfo 模式
            set $path_info "";
            set $real_script_name $fastcgi_script_name;
            if ($fastcgi_script_name ~ "^(.+?\\.php)(/.+)$"){
               set $real_script_name $1;
               set $path_info $2;
            }
            include fastcgi.conf;
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
            ##########################################nginx支持pathinfo 模式的重点   
       }   
               
           location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
           {
                        expires 30d;
           }
               
           location ~ .*\.(js|css)?$
           {
                        expires 1h;
           }
               
           rewrite .*/(statics|uploads)/(.*)$ /$1/$2 last;//这里 rewrite的时候 排除statics目录和uploads目录,这样将你的静态文件放到statics目录下就能正常引入了
         rewrite /.* /index.php break;
          
           access_log/alidata/log/nginx/access/ci.log;
}

coderones 发表于 2015-12-18 12:04:36

嗯 解决了 我在controller 中 $this->load->helper('url');然后就能在view文件中使用base_url('/xxx/xxx.js');这样的函数了,而且又配置了下nginx中的rewrite规则,最终结果是既在url地址中隐藏了index.php,又能够正常引入静态资源文件 js,css等。

longjianghu 发表于 2014-5-30 13:41:26

CI的根目录相对于index.php的,这个没什么技术含量吧。

Hex 发表于 2014-5-30 14:39:45

用绝对 URL 就可以啦。

beaton 发表于 2014-5-30 16:51:16

你贴一下看看呢?

scuyxi 发表于 2014-9-9 23:09:53

很可能是隐藏了index.php 造成的

coderones 发表于 2015-12-16 11:27:22

ci 3.0中这个base_url()函数在视图文件里无法使用

眼镜280 发表于 2015-12-16 12:10:11

coderones 发表于 2015-12-16 11:27
ci 3.0中这个base_url()函数在视图文件里无法使用

你得在控制器中,或是在视图里先截入 url 这个辅助函数

眼镜280 发表于 2015-12-16 12:10:55

aqxinzhuan 发表于 2014-9-11 08:55
在view文件,例如

这个正解   public 这个文件夹放在入口文件 index.php 的同级即可
页: [1] 2
查看完整版本: ci中怎么把js引入进去