2010-05-17 6 views
0

Pour une raison quelconque la fonction success n'est pas appelé dans le code JavaScript suivant: Fichierréponse ajax (JSON) ne fonctionne pas appeler correctement

$.ajax({ 
      type: 'POST', 
      url: 'http://localhost/hf_latest_desktop/st_pages/user_area/acc_buttons/pass_change/pass_change_ajax.php', 
      data: data, 
      dataType: 'json', 
      success: function(e){ 
       console.log(e); 
       if(e.status == 'success'){ 
        alert('your password has been changed!'); 
       } 
       if(e.status == 'error1'){ 
        alert('please fill in all inputs!'); 
       } 
       if(e.status == 'error2'){ 
        alert('password incorrect!'); 
       } 
       if(e.status == 'error3'){ 
        alert('change failed!'); 
       } 
      } 
     }); 

php ajax appelle:

<?php session_start(); 
    session_cache_limiter('nocache'); 
    header('Expires: ' . gmdate('r', 0)); 
    header('Content-type: application/json'); 
    $status = 'error1'; //for sake of example 
    ?> 
    {'status':'<?php echo $status; ?>'} 
+0

Eh bien, peut-être l'appel échoue pour une raison quelconque? Pouvez-vous essayer le rappel 'complete'? –

+0

essayé 'complet: fonction (e) {...' sans chance non plus – Haroldo

+0

Aidez-moi à comprendre quelque chose. Vous dites 'succès:' n'est pas appelé, mais vous dites aussi que vous obtenez un journal de la console, qui semble être dans le callback 'success:'. Où exactement se déroule l'appel à la console? – user113716

Répondre

1

Ajouter le gestionnaire d'erreurs pour voir ce qui est retourné.

$.ajax({ 
    type: 'POST', 
    dataType: 'text/json', 
    url: 'myUrl', 
    success: function(data, status) { }, 
    error: function(data, status) 
    { 
     alert(data); // Print the response! 
    } 
}); 
+0

se connecter à la console je reçois: de l'erreur: XMLHttpRequest {onreadystatechange = [xpconnect enveloppé nsIDOMEventListener], plus ...} – Haroldo

+0

donc im obtenir une réponse d'erreur je ne sais pas ce que cela signifie! – Haroldo

+0

Essayez simplement d'alerter les données que vous recevez en retour. Ce devrait être le code HTML que vous recevez du serveur. – Tejs

Questions connexes