|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.02.2013, 11:45 | #1 |
Регистрация: 01.02.2013
Сообщений: 3
|
Применить AJAX в MVC-структуре
Здравствуйте!
Сайт сделан по MVC структуре, обращаться нужно строго в определенном формата (/contr/method/ - как-то так), иначе же выдает ошибку. Причем, почему-то еще часто выдает 404 ошибку, если даже правильно обратиться к существующему контроллеру и методу. Я просто плохо в этом разбираюсь... В общем, я делаю запрос посредством AJAX, вначале делал не по формату (писал test.php). Потом делал так: /test/, в первом случае была ошибка "Недопустимый адрес страницы", во втором ошибка 404. Я создал даже этот метод в уже существующем контроллере, например контроллере index, обращаюсь к нему - все-равно 404 выдает. Хотя перед тем как добраться до этого метода, он проходит через index.php, подгружает шаблон полностью и т.д. А мне этого не нужно. В общем, нужно из шаблона посредством AJAX вызвать файл/метод - что угодно, чтобы ему обратно вернулось какое-то значение, и все. Даже просто сделать echo 123; Как это обычно делается в MVC структуре? Я понимаю, что везде по-разному, но все-таки должны существовать распространенные методы решения данной проблемы. Спасибо! |
01.02.2013, 12:25 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
test.php - но с обязательным указанием правильного пути от точки вызова и будет счастье
|
01.02.2013, 12:39 | #3 |
Форумчанин
Регистрация: 28.06.2010
Сообщений: 189
|
Привет,
Скорее всего определены конкретные роуты, запросы, которые обрабатываются неким обработчиком запросов. Твоего нового роута нету в этом списке, поетому кидает ошибку 404. Ajax же обрабатывается таким способом: В контроллере проверяем "на ajax" запрос. Если true прекращаем работу и возврвращаем json или просто выводим что либо через echo. PHP код:
|
01.02.2013, 18:07 | #4 |
Регистрация: 01.02.2013
Сообщений: 3
|
Смотри, у контроллерах уже есть файл ajax.php.
Там нет метода index, поэтому я добавил твои строки когда туда. Пытаюсь вызвать вот так: test.ru/ajax/index/ И выдает 404 ошибку. Даже если вызывать уже существующие там до меня методы, например так: test.ru/ajax/getparam/ - тоже выдает 404 ошибку. Я не знаю как они его применяют, но открыть на сайте страницу с этим контроллером не удается. Если создать свой новый контроллер ajax2 какой-нибудь, то выходит та же ситуация. Не знаю что дальше делать) 404 эта выводится думаю еще на index.php или на каком-нибудь системном классе. |
01.02.2013, 19:22 | #5 |
Форумчанин
Регистрация: 28.06.2010
Сообщений: 189
|
.htaccess файл есть? что в нем?
|
02.02.2013, 12:30 | #6 |
Регистрация: 01.02.2013
Сообщений: 3
|
AddDefaultCharset utf-8
AddCharset utf-8 * <IfModule mod_charset.c> CharsetSourceEnc utf-8 CharsetDefault utf-8 </IfModule> php_flag display_startup_errors on # disable display of all other errors php_flag display_errors on RewriteEngine on RewriteCond $1 ^manage RewriteRule ^(.*)$ /root.php/$1 [L] RewriteCond $1 !^(root\.php|index\.php|plupload|ic o|images|speller|css|js|robots\.txt |ckeditor|ckfinder|crypt) RewriteRule ^(.*)$ /index.php/$1 [L] |
02.02.2013, 16:21 | #7 | |
Форумчанин
Регистрация: 28.06.2010
Сообщений: 189
|
htaccess вроде норм.
Цитата:
Надо покопаться в файлах, если это классический mvc то будут файлы типа request.php, router.php, может какой-то абстрактный контроллер. Там смотреть. Начинай смотреть с index.php и лезь в глубь... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как применить функцию | Predator199 | PHP | 6 | 05.08.2012 23:58 |
ASP.NET (MVC 3) и jquery.ajax | stalsoft | ASP.NET | 1 | 19.01.2012 16:25 |
Подпрограммы! как применить? | gylayko | Помощь студентам | 6 | 31.10.2011 18:03 |
Какую формулу применить? | rusgaz | Microsoft Office Excel | 3 | 18.10.2010 23:43 |
Не получается применить DecodeDate | sergey113 | Помощь студентам | 2 | 27.03.2009 23:12 |