ambiguïté sur l'utilisation d'AJAX

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ambiguïté sur l'utilisation d'AJAX

Re: ambiguïté sur l'utilisation d'AJAX

par devlop78 » 19 déc. 2010, 02:43

Bon,

Je vais être très gentil, et je vais mettre une classe que j'utilise pour AJAX dans une application.

Coté JS

Code : Tout sélectionner

$.post(myself, { utilisateur:utilisateur, action: 'changeUser' }, function(data){ if (!isSuccess(data)) ... ; ... });
Dans le controlleur :
if (isset($_POST['action'])) { Ajax::getInstance(); exit;}

La classe Ajax :
class Ajax {

private $*** = null;
static $instance = null;

static function getInstance() { if (self::$instance == null) self::$instance = new self; return self::$instance; }
private function __construct () { $this->*** = ***::getInstance();  if (method_exists($this,$_POST['action'])) $this->$_POST['action']($_POST); else ...: }

function changeUser ($args) {

if ($args['utilisateur']) {
$_SESSION['utilisateur'] = $args['utilisateur'];
$this->****** ();
} else {
$this->******();
}

}

}

Re: ambiguïté sur l'utilisation d'AJAX

par stopher » 19 déc. 2010, 02:07

Slt ,

en fait il te faut utiliser un "dispatcheur" , le principe est le suivant ,

Toutes test requetes pointent vers ce dispatcher ex :

http://monsite.com/monaction/

Monsite.com , redirige automatiquement vers un index.php ( si tu as configuré comme ça ton serveur ) , celui-ci appel ton dispatcheur , qui va "éplucher" l'url passé :

Type : GET
Addr : monsite.com
URL : monaction

Et en fonction de ça exécuter le bon code , à savoir celui qui se réfère à monaction.

La majorité des framework utilise ce principe , afin d'utiliser les bon objets en fonction de l'url passé , c'est certes bien plus complexe , avec souvent la gestion /controller/action et non action seule .

Mais le principe est là .

N'hésite pas à regarder la doc des FW et fonction "dispatch" pour mieux comprendre cet aspect

Bonne continuation ,

Ch.

ambiguïté sur l'utilisation d'AJAX

par rzili » 18 déc. 2010, 23:17

salut
j'ai une question , est ce je dois avoir une page " .php" pour chaque objet crée.
Moi , j'aurai préféré que ça soit au lieu d'appel de "test1.php" un appel d'une fonction au lieu de tout une page

ce que je fais :
objetXHR1 = new XMLHttpRequest();
objetXHR1.open("get","test1.php", true);

objetXHR2 = new XMLHttpRequest();
objetXHR2.open("get","test2.php", true);

ce que j'aimerais avoir :

objetXHR1 = new XMLHttpRequest();
objetXHR1.open("get","fct1", true);

objetXHR2 = new XMLHttpRequest();
objetXHR2.open("get","fct2", true);

fct1 et fct2 seront dans une seule page test1.php