2012-02-04 6 views
0

Je suis un débutant dans le Zend Framework. Je passe une variable par requête ajax comme ceci

$.ajax({ 
    method: "GET", 
    url: "/filename/fetch-client-data.php", 
      dataType: 'json', 
    // and so on 
} 

Je dois obtenir la variable passée par le formulaire. Je ne sais pas comment utiliser le $ _GET ['nom varaible'] de la jquery.ajax.

Voici ce que je suis en train de la fonction de contrôleur

public function fetchClientDataAction() 
{ 
    $this->_helper->layout->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(TRUE); 
    $this->get('variablename')=$variable_name; 
} 

me point que quelqu'un peut dans la bonne direction?

Répondre

1

Vous accédez au super _GET global $ en PHP comme ceci: -

public function fetchClientDataAction() 
{ 
    $this->_helper->layout->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(TRUE); 
    $variable_name = $_GET['variable_name']; 
} 

Il y a une manière plus comme 'Zend Framework' de le faire: -

$variable_name = $this->getRequest()->getParam('variable_name'); 

Évidemment, vous aurez besoin pour désinfecter les données que vous recevez en fonction de votre cas d'utilisation.

Si vous demandez à jQuery d'envoyer des données au client à traiter, alors vous n'avez pas besoin de vous soucier de $ _GET ou de $ _POST. Vous envoyez simplement vos données JSON dans le corps de la réponse: -

public function fetchClientDataAction() 
{ 
    $this->_helper->layout->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(TRUE); 
    $variable_name = $_GET['variable_name']; 
    //now we can respond 
    $result = doSomethingWithVariable_name($variable_name); 
    header('OK', true, 200); 
    header('Content-type: application/json'); 
    echo json_encode($result); 
} 
+0

Merci @ vascowhite..the sortie JSON retourne quelque chose comme [{ "client_name": "Steve Harris", "Etat": » TX "}] est-ce parce que les crochets [] ne sont pas affichés dans le formulaire? – Micheal

+0

str_replace (array ('[', ']'), '', json_encode ($ this-> view-> lead_query)) le code ci-dessus a fonctionné pour moi – Micheal