CI 中使用ajax的问题
处理AJAX的JS文件里返回服务器的URL中不能用PHP语句也就是说不能写base_url()这样的函数,这个问题怎么办?想到的方法:
1、直接写成http://xxxx/可以但是太麻烦
2、用PHP写那个JS文件,结果调用失败 这个东西和 CI 有什么关系呢???
用纯 PHP 难道能在 .js 里写 PHP 代码??
这个的解决方法只有一个,就是用 PHP 生成 js 语句,否则别无他法。
至于在哪里生成,我觉得在视图里生成比较好,生成一个全局 js 变量,然后在 .js 文件里使用这个全局变量,目前 www.iqwer.com 就是这么用的。 HEX:这个可是CI的问题啊,别再给我转走啊!! 本帖最后由 lcnphp 于 2010-5-18 21:38 编辑
对,我就是这么干的在视图里定义一个变量varbase_url = <?phpbase_url(); ?>然后在js文件里调用这个变量,不过这个变量要在js文件引入之前定义好 <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]