2009-11-20 3 views
0

J'ai essayé de récupérer des données via AJAX. Je n'arrive pas à 'lire' ce qui m'a été envoyé par PHP. Voici le codeLecture des valeurs de retour de PHP avec Mootools

$('create_course').addEvent('submit', function(e){ 
    e.stop(); 
    flash.setStyle('display', 'none'); 
    this.set('send', { 
    onComplete: function(resp){ 
    if ($chk(resp)) 
    { 
     console.log($type(resp)); 
     if (resp == 'true') 
     { 
     flash.set('html', resp); 
     flash.reveal(); 
     } 
     elseif (resp == 'false') 
     { 
     $$('div.information').dissolve(); 
     $$('div.options').reveal(); 
     } 

    } 
    } 
    }).send(); 
    }); 

Une action différente se produira quand je reçois un vrai et un autre sur faux.

C'était le code.

if (is_ajax()) 
    { 
    if ($this->form_validation->run('course_create') === TRUE) 
    { 
    $course = array(
    'name' => $this->input->post('name'), 
    'description' => $this->input->post('desc'), 
    'price' => $this->input->post('price') 
    ); 


    if ($this->course->create($course)) 
    { 
    echo 'true'; 
    } 
    else 
    { 
    echo 'false'; 
    } 
    } 
    else 
    { 
    echo validation_errors('<div class="message error"><p>', '</p></div>'); 
    } 
    } 

Note: J'ai modifié le php et js juste lire s'il y a une réponse. Donc, ce php et js est ce qui est habituel. Mon point est de savoir comment je "lis" la valeur de retour dans Mootools/JS.

+1

pouvez-vous nous montrer le code php – RageZ

Répondre

1

Je l'ai résolu. Je pense. Je Element.match()

$('create_course').addEvent('submit', function(e){ 
      e.stop(); 
      flash.setStyle('display', 'none'); 
      this.set('send', { 
       onComplete: function(resp){ 

        var is_validated = resp.match("true"); 

        if (is_validated) 
        { 
         flash.set('html', resp); 
         flash.reveal(); 
        } 
        else 
        { 
         $$('div.information').dissolve(); 
         $$('div.options').reveal(); 
        } 
       } 
      }).send(); 
     }); 
0

si vous ajoutez un

alert(res); 

qu'est-ce que cela vous donne?

au lieu de

if ($this->course->create($course)) 
    { 
    echo 'true'; 
    } 
    else 
    { 
    echo 'false'; 
    } 

pourrait vous faire

if ($this->course->create($course)) 
    { 
    die 'true'; 
    } 
    else 
    { 
    die 'false'; 
    } 
+0

Je ne l'ai jamais vérifié à l'aide d'alerte mais console.log me donne un vrai –

+0

oui, mais vous faites '$ type (resp) 'J'aurais préféré' console.log (resp); ' – RageZ

+0

Je l'ai déjà fait avant de penser au type. ça m'a donné 'vrai', sans les guillemets. –