cakephp
Обработка запроса Ajax
Поиск…
Основной пример CakePHP 2.x
Контроллер: в контроллере вы должны добавить компонент RequestHandler. Это позволяет CakePHP автоматически определять запросы Ajax (см. Http://book.cakephp.org/2.0/en/core-libraries/components/request-handling.html для получения дополнительной информации):
class YourController extends AppController {
public $components = array('RequestHandler');
//...
public function ajaxCall() {
if($this->request->is('ajax'){
// some code that should be executed
// ...
// variables you want to return
$this->set(compact('firstVariable', 'secondVariable'));
$this->set('_serialize', array('firstVariable', secondVariable))
}
}
Просмотреть код (используя jQuery):
<script>
$.ajax({
type: 'POST',
url: '/yourController/ajaxCall',
success: function (result) {
// result is a JSON array of the returned Variables
},
error: function (result){
console.log(result);
}
});
</script>
Запрос Ajax в Cakephp 2.x
Еще один способ использования ajax в cakephp. Cakephp обеспечивает себя для запроса ajax. См. Пример.
$data = $this->Js->get('#id')->serializeForm(array('isForm' => true, 'inline' => true));
//on click send request to controller and displays response data in view
$this->Js->get('#button-id')->event(
'click', $this->Js->request(
array('controller' => 'Users', 'action' => 'add'), array(
'update' => '#time', // field you wish to update
'data' => $data, // Form Data in serialize form
'async' => true,
'dataExpression'=>true,
'method' => 'POST' // method get or post
)
)
);
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow