用户
 找回密码
 入住 CI 中国社区
搜索
查看: 18006|回复: 24
收起左侧

用ci部署ajax

[复制链接]
发表于 2008-1-5 03:40:36 | 显示全部楼层 |阅读模式
如果在ci中合理的部署ajax这几天一直困扰着我。今天我意外的发现了两个很好的办法。

1。CI+XAJAX (这里我就不多说了,有兴趣的自己去google)
2。用ci官方发布的ajax类。这个类在1.5.1的时候就已经开发了。不知道为什么到今天它也没有出现在CI中。我们必须要到官方去下载它,并手动添加到自定义类中。具体的官方地址是:http://codeigniter.com/wiki/AJAX_for_CodeIgniter/

这里我把它的用法简略翻译了一下。和大家分享一下。(翻译水平有限,见谅)

=================================================

如何使用CodeIgniter的AJAX类?
把你的ajax类放在默认的libraries目录下
www-root/system/libraries/
把你的javascript文件放到根目录下。比如:
www-root/javascript/
如果你用mod_rewrite, 请确认你允许javascript路径能够被通过。你可以通过类似下面的方法配置.htaccess文件
RewriteEngine on
RewriteCond
$1 !^(index\.php|images|stylesheets|javascript)
RewriteRule ^(.*)$ /index.php/$1 [L]
然后,通过html文件调用任何被你打算使用的javascript文件,例如:
<script src="javascript/prototype.js" type="text/javascript"></script>
<script src="javascript/effects.js" type="text/javascript"></script>
<script src="javascript/dragdrop.js" type="text/javascript"></script>
<script src="javascript/controls.js" type="text/javascript"></script>
最后,按照正常的方法读取CodeIgniter library.你有两种读取方法。直接在你的controller中读取(个人比较倾向这个方法)
$this->load->library('ajax');
或者,你可以在system/application/config/autoload.php中把ajax类设成自动读取
$autoload['libraries'] = array('database', 'session', 'ajax');
然后你所需要做的就是用ajax helper($this->ajax)来使用.比方以下这个例子
echo $this->ajax->link_to_remote("Login", array('url' =>'/login', 'update'=> 'divblock'));

评分

参与人数 1威望 +5 收起 理由
Hex + 5 精品文章

查看全部评分

 楼主| 发表于 2008-1-5 03:41:32 | 显示全部楼层
这里把文件也补上。 AJAX-for-CodeIgniter.zip (52.78 KB, 下载次数: 237)
发表于 2008-1-5 05:36:57 | 显示全部楼层
这么好的文章不加分怎么可以呢??
发表于 2008-1-5 09:42:37 | 显示全部楼层
好文章,不错.
发表于 2008-1-5 12:26:39 | 显示全部楼层
哈。。顶了。。。:)
发表于 2008-2-1 05:42:02 | 显示全部楼层
好文章,学习了:) :)
发表于 2008-2-1 15:58:45 | 显示全部楼层
哈。。顶了。。。
发表于 2008-2-3 19:46:58 | 显示全部楼层

刚来,还以为不支持,AJAX呢,了解了顶一个

刚来,还以为不支持,AJAX呢,了解了顶一个
发表于 2008-2-3 21:33:37 | 显示全部楼层
CI 怎么可能会不支持 ajax 呢~~ 呵呵
发表于 2008-2-5 15:34:34 | 显示全部楼层
楼主给的是ajax  for   codeigniter 1.5.1的版本。。。不知道在codeigniter更高版本上能否使用?

本版积分规则