Частичный URL в CodeIgniter - PullRequest
       2

Частичный URL в CodeIgniter

0 голосов
/ 15 января 2011

Товарищ кодеров,

До сих пор я использовал CI url helper для создания полных URL с использованием base_url () и site_url (). Теперь я пытаюсь получить доступ к функции контроллера в некотором коде JavaScript, который будет загружен в виде файла js.

на самом деле это ajax-вызов с параметром url, который должен выглядеть примерно так:

url : '/account/check_user'  

Теперь, если я не префикс URL-адреса с полным путем, как в http://servername/..... код не выполняется.

все примеры кода, которые я видел, используют короткую версию URL, но я не могу заставить ее работать. Я уверен, что это действительно просто, но я застрял.

Я мог бы передать скрытое поле формы в код js, но я бы не стал. есть идеи?

спасибо

Ответы [ 3 ]

3 голосов
/ 15 января 2011

Ну, я также склонен использовать абсолютные URL , и я всегда рекомендую объявлять переменную JS:

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

In:

  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/
Тогда ваш URL станет: domain.com/contorller/method/ !!

3 голосов
/ 15 января 2011

Я обычно назначаю base_url () переменной JS прямо в голове, чтобы она была доступна для всех методов. Как то так

<script type="text/javascript">
    var baseUrl = "<?php echo base_url() ?>";
</script>
0 голосов
/ 17 апреля 2014

На самом деле вы должны использовать функцию site_url () CI. base_url () полезна для генерации URL-адреса ресурса (такого как скрипт или таблица стилей), но site_url () - лучший выбор при генерации URL-адреса страницы внутри самого приложения, например, при создании запроса Ajax, как описано .

Так что лучшим кодом для использования будет что-то вроде этого:

<script type="text/javascript">
    var site_url = "<?php echo site_url() ?>";
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...