请教如何在被引入的JavaScript文件中加入地址
本帖最后由 天梯梦 于 2010-9-2 22:43 编辑如果我在一个页面中引入了一个Js文件ajax.js,
那么在这个ajax.js文件中我如果加入一个地址,
例如: $.post('controller/segment','',function(data){ alert(data); })
这个是jquery的部分代码,其中 “controller/segment” 这个部分如何写? 我之前试过直接写 “controller/segment” ,但是有时候灵有时候不灵,所以为了安全,我一般都是把这段代码写在php页面内: echo " $.post('".base_url()."controller/segment','',function(data){ alert(data); }) ";
请教一下,如果我还是想引入JavaScript文件的话,我应该如何写这样的地址? 这个我也说过很多次了。
我的做法是,在引入 ajax.js 之前先在视图里用 PHP 生成一个全局 JS 变量,然后在 ajax.js 里使用这个变量,这个变量可以是 http://domian.com/ 类似的内容,因为 CI 必须要绝对 URL,所以需要拼一个绝对 URL。 哇塞,小弟有学了一招,看来JavaScript基础不明白啊,怎么就没有想到全局变量!!谢谢了 呵呵,思路一定要打开,一定要多思考,你如果思考到位了,肯定会有解决方案。
我就很喜欢思考,每天都不停的想东西,呵呵 尽量不要使用全局变量,你可以在PHP VIEW里面放一个hidden标签里面藏一个地址value。ajax.js这里在通过js去取这个value 拼接 回复 5# eason
这个东西要是依赖 DOM,那耦合性就很大了,js 就和 DOM 耦合了。
全局变量不是魔鬼,要用到合适的地方。如果你觉得全局变量不好,你还可以使用 namespace 技术使全局名字空间更干净。 本帖最后由 yunnysunny 于 2010-9-7 11:37 编辑
新建一个视图header.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="author" content="root"/>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
<base href="<?php echo base_url();?>" />
<link rel="stylesheet" type="text/css" href="css/client.css">
<script type="text/javascript" language="javascript" src="js/jquery.js"></script>
<script type="text/javascript" language="javascript">
var base_url="<?php echo base_url();?>";
</script>
然后在其他的视图中加载这个视图:
<?php
$this->load->view('header');
?>
<script src="js/test.js"></script>
<title><?php echo $t;?></title>
</head>
在这个视图的js(test.js)这么写:
$.post(base_url + "controller/segment',function(data){ alert(data); }) ; 你用 Jquery 吗?
我的用法是在 jquery 的库文件 定义一个变量,变量=本域名
然后用这个变量拼接 做个隐藏域$("#site_url").val() 即可取到! 回复 9# sonic
隐藏域不如全局变量好(或某个 namespace 下的变量)
页:
[1]
2