slam4:php:codeigniter:javascript

Ceci est une ancienne révision du document !


Javascript et codeIgniter

Il est possible d'utiliser les frameworks javascript connus :

  • JQuery
  • Prototype
  • Mootools
  • Ext Js

ou de mettre en oeuvre un framework Javascript s'intégrant à CodeIgniter : CJAX

CJAX Framework

Copier le contenu du zip dans les destinations suivantes :

  • ajax.php et ajaxfw.php et le dossier cjax dans /
  • le contenu du dossier application dans le dossier application du site
    • le dossier response
    • le contenu de views vers views
    • le contenu de controllers vers controllers

Avec CJAX, Les contrôleurs se situent dans le dossier response de application, et sont accessibles par l'url ajax.php?nomController.

  • Créer un contrôleur dans response nommé TestAjax
|h application/response/testAjax.php
<?php
class TestAjax extends CI_Controller{
	public function click(){
		$this->load->view('vClick');
	}
}
?>
  • Créer la vue vClick.php dans applications/views/
  • ajax() permet d'instancier ajax ou de récupérer l'instance active
  • $ajax->init() insère le fichier javascript CJAX dans le header de la page * $ajax→exec associe l'appel de **update** au click sur le bouton **btClick** * $ajax→update affiche le message "Test de click" dans **divResponse** <code php|h application/views/vClick.php> <?php require_once "ajax.php"; $ajax = ajax(); $ajax->Exec("btClick",$ajax->update("divResponse","Test de click")); ?> <html> <head> <meta charset="UTF-8"> <title>Message sur click</title> <?php echo $ajax->init();?> </head> <body> <h2>message sur click du button</h2> <input type='button' id='btClick' value='Cliquer sur le bouton'> <div id="divResponse">divResponse</div> </body> </html> </code> ==== Requête sur click ==== Il s'agit de faire une requête vers une page (/test/affiche/) sur le click d'un bouton, et d'afficher le résultat dans une div * Ajouter une méthode dans le controleur **testAjax** : <code php |h application/response/testAjax.php> <?php class TestAjax extends CI_Controller{ public function click(){ $this->load->view('vClick'); } public function get(){ $this->load->view('vGet'); } } ?> </code> * Créer la vue **vGet.php** * $ajax→Exec exécute l'appel du **call** sur le click du bouton **btGet** * $ajax→divResponse%% permet d'affecter le résultat du chargement de la page affiche à la div divResponse
application/views/vGet.php
<?php
 
require_once "ajax.php";
$ajax = ajax();
 
$ajax->Exec('btGet' , $ajax->divResponse=$ajax->call("test/affiche"));
 
?>
<html>
<head>
<meta charset="UTF-8">
<title>GET</title>
<?php echo $ajax->init();?>
</head>
<body>
<h2>Get</h2>
<input type='button' id='btGet' value='Cliquer sur le bouton'>
<div id="divResponse">divResponse</div>
</body>
</html>

POST sur click

  • Ajouter 2 méthodes dans le contrôleur testAjax :
    • post permet d'afficher la vue permettant de poster une requête
    • postResult affiche le résultat du POST
|h application/response/testAjax.php
<?php
class TestAjax extends CI_Controller{
	public function click(){
		$this->load->view('vClick');
	}
	public function get(){
		$this->load->view('vGet');
	}
	public function post(){
		$this->load->view('vPost');
	}
	public function postResult(){
		var_dump($_POST);
	}
}
?>
  • slam4/php/codeigniter/javascript.1355942778.txt.gz
  • Dernière modification : il y a 7 ans
  • (modification externe)