cakephp
Traitement des requêtes Ajax
Recherche…
Exemple de base de CakePHP 2.x
Controller: Dans le Controller, vous devez ajouter le composant RequestHandler. Cela permet à CakePHP de détecter automatiquement les requêtes Ajax (voir: http://book.cakephp.org/2.0/en/core-libraries/components/request-handling.html pour plus d'informations):
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))
}
}
Voir le code (en utilisant 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>
Requête Ajax dans Cakephp 2.x
Une autre façon d'utiliser ajax dans CakePHP. Cakephp se fournit pour une requête ajax. S'il vous plaît voir l'exemple.
$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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow