Ajax форма CakePHP не работает, когда тип POST - PullRequest
1 голос
/ 11 мая 2011

Я разработал сайт с использованием cakephp 1.1, в нем много элементов ajax для одновременного обновления нескольких элементов, и они работали довольно хорошо. Сейчас я перехожу на cakephp 1.3, но у меня нет такого большого опыта.

Благодаря этому блогу мне удалось обновить несколько div-ов, но вскоре я снова застрял.

Моя текущая проблема связана с формой ajax, которая не завершает запрос к URL '/ logs / logIn' ('/controller/action').

После отправки формы Firebug показывает мне ошибку: «POST http://localhost/logs/logIn 404 не найден», запрос прерывается в функции request () прототипа, строка 1530:

this.transport.send(this.body);

Когда я пишу URL-адрес прямо в браузере, кажется, что сайт работает так, как я ожидал. И когда я изменяю тип формы с «POST» на «GET», запрос ajax завершается, и ответ тот, который я ожидал, но мне НУЖНО сделать это с «POST».

Я прочитал много форумов, на которых обсуждаются подобные вопросы, но ни одно предложение не помогло мне решить проблему:

  • Я проверил мои файлы hhtp.conf и .htaccess, они, кажется, в порядке в соответствии с инструкциями по установке (но я не уверен).
  • Запрашиваемое мною действие не использует никакого представления (на самом деле, функция 'GET' и функция прямых URL-запросов без необходимости в файле представления log_in.ctp), и я создал соответствующее представление, когда я пробую 'POST' 'запрос ajax, но он все еще не работает.

Я использую последнюю версию scriptaculous и protoype.js (1.7), я работаю с Firefox 3.6.17 на Ubuntu.

Заранее большое спасибо за любой трюк, совет, совет или что-то еще, что вы можете сделать, чтобы помочь мне.

1 Ответ

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

Я наконец-то решил проблему. Это было связано с компонентом безопасности торта.

Все, что я сделал, это установил для переменной $ validatePost значение false.

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

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