js文件里的url怎么写?
本帖最后由 meatleung 于 2014-11-12 10:00 编辑我写了一个js文件,效果是点击指定id的元素,就会将id传递给控制器“icdig”的“detail”方法,其中传递参数的代码是这么写的:
var url="index.php/icdig/detail/"+id;
xmlHttp.onreadystatechange=stateChanged ;
xmlHttp.open("GET",url,true);xmlHttp.send(null);
在第一次进入页面后,js运行正常,url链接正常,是“localhost/index.php/icdig/detail/”;
点击站内其他链接,然后再回来本页面,点击相同的元素,firebug就会提示连接的页面变成了“localhost/index.php/index.php/icdig/detail/”
请问多出来的index.php如何解决?
我猜想是config.php没设置好,但是怎么改?还请指教。
先問幾個問題:
1.你的 $config['base_url'] = ''; ??
2.你的連結是否為絕對路徑 ??
3.若是絕對路徑,用的是 site_url() 還是 base_url() ?? 本帖最后由 meatleung 于 2014-11-3 15:57 编辑
Closer 发表于 2014-11-3 15:05
先問幾個問題:
1.你的 $config['base_url'] = ''; ??
2.你的連結是否為絕對路徑 ??
您好.1 我的config.php设置是:
$config['base_url'] = '';
$config['index_page'] = 'index.php';
2 您问的链接指的是导航到这一页的链接吗?这一页是主页,链接代码是:<?php echo anchor('/', '主页'); ?>
也就是说,第一次进入页面,网址是localhost;从别的页面再跳转过来,网址变成了localhost/index.php,所以才会多了一个index.php?
那么链接代码要改成<?php echo anchor(base_url(), '主页'); ?>
我试了下,把链接改为<?php echo anchor(base_url(), '主页'); ?>,而js文件里的链接保持不变,为var url='index.php/icdig/detail/'+id;,这样就不会出现多一个index.php了。
问题解决了,好开心,十分感谢{:soso_e113:}
本帖最后由 Closer 于 2014-11-3 15:56 编辑
meatleung 发表于 2014-11-3 15:36
您好.1 我的config.php设置是:
2 您问的链接指的是下面这段代码吗?
site_url()一般用于网址链接,base_url()一般用于资源链接(如CSS文件、图片等)
site_url() 和 base_url() 差別就在於,會不會"自動"加上訪問文件 index.php
一般我比較喜歡用 base_url() ,然後需要的地方自己加 index.php
我覺得這樣比較不會亂
http://codeigniter.org.cn/user_guide/helpers/url_helper.html
site_url() 裡面有一段有提到「 当你将URI段作为参数传给这个函数时,index.php 文件名 (或者是你在config中自定义的 index_page 文件名) 会被加到URL后面, 而且会加上你在config中定义的 url_suffix 后缀。 」
這很關鍵,這意味著,site_url() 會自動幫你加 index.php
而你又加上了一次 index.php
所以才造成兩次 index.php 的出現
再試試吧
static/image/hrline/line3.png
任何沒有附上完整路徑的網址
例如:<a href="about">test</a>
都會自動幫你導向 http://localhost/index.php/about
建議是會亂掉的連結都用上完整路徑
例如:<a href="<?php echo site_url('about');?>">test</a>
Closer 发表于 2014-11-3 15:51
site_url() 和 base_url() 差別就在於,會不會"自動"加上訪問文件 index.php
一般我比較喜歡用 base_ur ...
嗯,问题解决了,我在二楼重新编辑了回复,十分感谢~~~
meatleung 发表于 2014-11-3 15:54
嗯,问题解决了,我在二楼重新编辑了回复,十分感谢~~~
如果 site_url() 內沒有要用路徑
用 base_url() 會比較正規 Closer 发表于 2014-11-3 15:57
如果 site_url() 內沒有要用路徑
用 base_url() 會比較正規
激动得手抖打错了,确实应该是base_url,不是site_url(){:soso_e112:}
页:
[1]