jquery.ajax в codeigniter - PullRequest
       2

jquery.ajax в codeigniter

0 голосов
/ 20 июня 2011

У меня проблема с реализацией jquery.ajax в codeigniter. Я хочу отправить элемент управления определенной функции контроллера. Я устанавливаю URL в моей функции JavaScript, как это

var url='<?php echo('First/index');?>';
var ajaxoptions={url:url,success:submit_ajax_response};

First - мой контроллер, а index - моя функция, в которую я хочу отправить управление. Когда я нажимаю на событие, по которому оно вызывается, создается следующий URL

http://localhost/codeigniter/First/index

URL-адрес в порядке, но выдает ошибку 404. Я делал такие операции несколько раз в zendframework, но не смог выполнить эту работу в codeigniter. Я заметил одну вещь, что, если я добавлю index.php в URL, он работает нормально. При добавлении index.php URL становится похожим на

http://localhost/codeigniter/index.php/First/index

Я удивлен, как удалить index.php из файла маршрута. У меня только две строки в файле route.php

$route['default_controller'] = "First";
$route['404_override'] = '';

Я уже сделал свой контроллер контроллером по умолчанию. Я правильно делаю? В чем проблема и как выполнить эту работу`

Ответы [ 2 ]

3 голосов
/ 20 июня 2011

Вам нужно проверить пару вещей.Во-первых, в /application/config/config.php убедитесь, что для файла индекса задано следующее:

$config['index_page'] = '';

Во-вторых, убедитесь, что у вас правильный .htaccess.Это должно быть в корне вашего публичного каталога (там же, где и ваш index.php):

<ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    Options FollowSymLinks

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
3 голосов
/ 20 июня 2011

Я заметил, что в вашем URL отсутствует часть index.php, которая есть в CodeIgniter.Измените свой код следующим образом: (вам нужен URL-помощник, поэтому загрузите его до этого):

var url="<?php echo (index_page() . 'First/index');?>";
var ajaxoptions={url:url,success:submit_ajax_response};

index_page возвращает страницу индекса сайта, как указано в файле конфигурации.Чтобы удалить index.php из ссылок CodeIgniter, см. здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...