обновить строку с помощью Ajax в CakePHP - PullRequest
0 голосов
/ 28 мая 2010

Я использую CakePHP в моем проекте. в этом в одном разделе мне нужно обновить конкретную строку по щелчку изображения. используя ajax. я использовал mootools в качестве библиотеки JavaScript. поэтому, пожалуйста, помогите мне, как я могу это сделать.

заранее спасибо

Ответы [ 2 ]

1 голос
/ 28 мая 2010

Проще говоря:

  1. Создание действия контроллера CakePHP, которое выполняет обновление строки.
  2. Определите URL только что созданного вами действия контроллера. (т.е. /controllername/actionname)
  3. Определите, нужно ли вам выполнить запрос GET или POST к этому URL, чтобы он работал.
  4. Поместите код в ваше представление, которое присоединяет событие «onclick», которое делает и AJAX (GET / POST) запрос к вышеуказанному контроллеру.

В CakePHP есть помощник по javascript, который традиционно создавал код прототипа, но в v1.3 он теперь может создавать код для других сред Javascript (таких как Mootools, jQuery и т.

Однако многие предлагают писать свой javascript в javascript (например, фактически используя фреймворк Mootools), а не писать свой javascript в PHP (например, используя помощник CakePHP для создания кода Mootools).

В любом случае, по вашему мнению, вам нужно что-то вроде: <?php echo $js->link(.. или <script>Moo.. или <a onclick="Moo.., чтобы прикрепить ваш Javascript к этой ссылке.

Вы также можете захотеть, чтобы действие вашего контроллера возвращало какой-то ответ, указывающий, было ли обновление строки неудачным или успешным. В этом случае вам нужно убедиться, что вызываемое вами действие контроллера CakePHP имеет представление, которое выводит это. JSON кажется идеальным форматом для этого (например, { success: true }), но вы должны помнить, чтобы отключить вывод отладочной информации Cake. Этот ответ может быть записан в переменную вашим кодом Mootools, где вы можете решить, что с ним делать (например, отображать ошибку).

0 голосов
/ 28 мая 2010

Как я знаю, большинство программистов работают с библиотекой protype.js.

я даю вам ссылку см.

иди туда

...