xfunl 发表于 2010-5-18 16:29:04

CI 中使用ajax的问题

处理AJAX的JS文件里返回服务器的URL中不能用PHP语句也就是说不能写base_url()这样的函数,这个问题怎么办?
想到的方法:
1、直接写成http://xxxx/可以但是太麻烦
2、用PHP写那个JS文件,结果调用失败

Hex 发表于 2010-5-18 17:01:43

这个东西和 CI 有什么关系呢???
用纯 PHP 难道能在 .js 里写 PHP 代码??

这个的解决方法只有一个,就是用 PHP 生成 js 语句,否则别无他法。
至于在哪里生成,我觉得在视图里生成比较好,生成一个全局 js 变量,然后在 .js 文件里使用这个全局变量,目前 www.iqwer.com 就是这么用的。

xfunl 发表于 2010-5-18 16:29:36

HEX:这个可是CI的问题啊,别再给我转走啊!!

lcnphp 发表于 2010-5-18 21:37:08

本帖最后由 lcnphp 于 2010-5-18 21:38 编辑

对,我就是这么干的在视图里定义一个变量varbase_url = <?phpbase_url(); ?>然后在js文件里调用这个变量,不过这个变量要在js文件引入之前定义好

yunnysunny 发表于 2010-5-19 12:56:38

<script language="javascript">
   varbase_url = "<?phpbase_url(); ?>";
</script>
<script language="javascript" src="<?phpbase_url(); ?>/js/test.js"></script>

test.js中
$(document).ready(function() {
    $('some').click(function() {
             var data_you_set = {
               //set the data you want to post to the controller_name
             };
            $.post(base_url+'/index.php/controller_name/params',data_you_set,function(ajax_result) {
                //do the operation with the ajax_result
             });
    });
});
页: [1]
查看完整版本: CI 中使用ajax的问题