【问题标题】:Partial url in CodeIgniterCodeIgniter 中的部分 url
【发布时间】:2011-01-15 15:57:55
【问题描述】:

各位程序员,

到目前为止,我一直在使用 CI url 帮助程序使用 base_url() 和 site_url() 构建完整的 url。现在我正在尝试访问一些将作为 js 文件加载的 javascript 代码中的控制器函数。

它实际上是一个带有 url 参数的 ajax 调用,应该是这样的:

url : '/account/check_user'  

现在除非我在 URL 前加上完整路径作为 ins http://servername/..... 代码失败。

我见过的所有代码示例都使用了 url 的简短版本,但我无法让它工作。我敢肯定这真的很简单,但我被卡住了。

我可以将隐藏的表单字段传递给 js 代码,但我宁愿不这样做。有任何想法吗?

谢谢

【问题讨论】:

    标签: javascript ajax url codeigniter


    【解决方案1】:

    好吧,我也倾向于使用 绝对 URL,我一直在做的一个好习惯是声明一个 JS 变量:

    var base_url = "<?php echo base_url(); ?>";
    

    在:

    1. head 部分
    2. 作为我的script 标签的第一行
    3. 如果我有一个 main.js 文件,其中包含 大部分 我的 JS 代码 并且 它总是包含在我的视图中,那么我将这一行放在文件中的第一件事.

    之后,你可以像这样使用它:

    url : base_url + 'account/check_user'
    

    无论如何,你的 url 中的第一个斜杠 / 告诉浏览器转到 URL 根目录,这不是放置你的 url 块的正确位置!例如:
    如果您的 CI 安装在 ci 文件夹中并且您的 URL 是:domain.com/ci/contorller/method/
    那么你的网址就会变成:domain.com/contorller/method/!!

    【讨论】:

    • hmmm,没想到在我的模板php文件的script标签中添加变量设置代码!!!我不得不使用 site_url 而不是 base_url 来包含 index.php 作为 url 的一部分。有趣的是,我在加载 js 和 css 文件时使用 base_url 并且效果很好。那个 index.php 文件总是给我带来麻烦!感谢@ifaour 和@polarblau 的快速解答!!!干杯:)
    • 我只是太专注于代码(而且有点懒惰),无法考虑删除 index.php :)
    • @djeetee:大声笑,认真的?!我第一次使用 CI 时,我说 WTF index.php 在那里做!简直丑陋! :P
    • 我同意这很丑!摆脱它被证明是更丑陋的。我遵循了 CI Wiki,各种站点上的说明,您说出它的名字,但我没有运气。我将在几秒钟内发布一个关于此的问题。
    【解决方案2】:

    我通常将 base_url() 分配给头部的 JS 变量,以使其可用于所有方法。像这样的

    <script type="text/javascript">
        var baseUrl = "<?php echo base_url() ?>";
    </script>
    

    【讨论】:

    • fyi 短标签现在已弃用,最好使用
    【解决方案3】:

    您实际上应该使用 CI 的 site_url() 函数。 base_url() 可用于生成指向资源(例如脚本或样式表)的 URL,但 site_url() 是在应用程序本身内生成指向页面的 URL 时的最佳选择,例如在发出 Ajax 请求时,如所述.

    所以最好使用的代码应该是这样的:

    <script type="text/javascript">
        var site_url = "<?php echo site_url() ?>";
    </script>
    

    【讨论】:

      猜你喜欢
      • 2014-07-05
      • 2015-12-01
      • 1970-01-01
      • 2019-06-18
      • 1970-01-01
      • 2012-10-30
      • 2011-12-11
      • 1970-01-01
      • 2012-04-27
      相关资源
      最近更新 更多