Luc*_*ano 21 javascript php jquery codeigniter libraries
正如标题所说,我正在试图弄清楚如何在CI上使用javascript和jquery库.
按照文档中的说明,我在我的控制器中加载库:
$this->load->library('javascript');
Run Code Online (Sandbox Code Playgroud)
然后,我在config.php中定义jQuery文件(jquery.min.js)的位置:
$config['javascript_location'] = 'http://localhost/ci/assets/js/jquery/');
Run Code Online (Sandbox Code Playgroud)
之后,我打开视图文件并输入以下两行:
<?php echo $library_src;?>
<?php echo $script_head;?>
Run Code Online (Sandbox Code Playgroud)
第一个错误出现在这里:未定义的变量$ library_src和$ script_head(不明白我必须设置它们的位置)
无论如何,我已经评论了这些行并继续使用jquery lib,通过在我的控制器中加载它:
$this->load->library('jquery');
Run Code Online (Sandbox Code Playgroud)
下一个错误:无法加载请求的类:jquery.(似乎它找不到lib,我搞砸了什么?)
检查系统文件夹,它看起来所有文件都已到位:
system/libraries/Javascript.php
system/libraries/javascript/Jquery.php
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
zec*_*sox 14
将代码放在config.php中,如下所示:
$config['javascript_location'] = 'js/jquery/jquery.js';
$config['javascript_ajax_img'] = 'images/ajax-loader.gif';
Run Code Online (Sandbox Code Playgroud)
在您的控制器文件(例如controllers/sample.php)中键入以下代码:
function __construct()
{
parent::__construct();
$this->load->library('javascript');
}
function index()
{
$data['library_src'] = $this->jquery->script();
$data['script_head'] = $this->jquery->_compile();
$this->load->view('sampleview', $data);
}
Run Code Online (Sandbox Code Playgroud)
在您的视图文件(例如views/sampleview.php)中输入以下代码:
<?php echo $library_src;?>
<?php echo $script_head;?>
Run Code Online (Sandbox Code Playgroud)
这适合我.我希望它对你也有用.XD
jon*_*ohn 13
重要的是要注意这个驱动程序被标记为实验,所以我不会依赖它.
此外,我个人认为这是一个混乱和令人头疼的问题,试图直接将应用程序的服务器端部分与客户端部分混合在一起.
要在您的视图中使用javascript,我只需要像这样加载它们...
<script type="text/javascript" src="<?= base_url() ?>path/to/jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)
因为这个驱动程序是实验性的,所以文档还不完整.但我能够找到解决方案.
首先,文档中有错误.除非你改变了核心JavaScript库(不推荐)的参考变量是不是 $script_head
其实$script_foot
.
其次,一旦你完成了通话,你似乎需要运行
$this->javascript->external();
Run Code Online (Sandbox Code Playgroud)
和
$this->javascript->compile();
Run Code Online (Sandbox Code Playgroud)
这些函数设置$library_src
和$script_foot
变量.
总而言之,在您的控制器中,您将拥有:
class Some_Controller extends CI_Controller {
public function index()
{
$this->javascript->click('#button', "alert('Hello!');");
$this->javascript->external();
$this->javascript->compile();
$this->load->view('index');
}
}
Run Code Online (Sandbox Code Playgroud)
在你看来你会有
<html>
<head>
<?php echo $library_src; ?>
<?php echo $script_foot; ?>
Run Code Online (Sandbox Code Playgroud)