2010-04-22 5 views
0

J'essaie d'utiliser jquery pour faire une validation côté client pour faire une vérification et retourner avec une erreur ou un succès.Envoi Retour Ajax variable

Je sais comment renvoyer le texte/html comme réponse, mais voici ce que j'essaie de faire.

En cas d'erreur, renvoyez un message afin que l'utilisateur puisse soumettre à nouveau un formulaire. En cas de succès, rechargez la page.

Je ne suis pas sûr de savoir comment l'envoyer une variable qui, je pense, me permettra de faire l'une ou l'autre condition dans jquery.

Des suggestions?

Répondre

1

Le javascript pourrait être somthing comme ce

$.ajax({ 
    type: 'POST', 
    url: ajaxPage, 
    data: postContent, 
    success: function(response) { 
     //Assume that the php failed 
    }, 
    error: function() { alert("Ajax request failed."); } 
}); 

maintenant dans le fichier PHP ajax vous pouvez avoir cette

<?php 
    //Check for validation 

    if(validation == 'success') { 
     header('Location: '.FILE_LOCATION); 
    } 
    else { 
     exit('Form submit failed. Please try again'); 
    } 
?> 

Hope this helps! Metropolis

EDIT DEPUIS NOUVEAU INFO

Si vous souhaitez utiliser un objet JSON vous pouvez le faire comme les suivantes

<?php 
    $response = array('validationStatus' => true); 
    exit(json_encode($response)); 
?> 

Ce ne est pas vraiment un gros problème si vous utilisez JSON ou non , vous pouvez toujours passer une chaîne dans les deux sens. Je pense que json est vraiment meilleur pour les données plus compliquées que vous avez besoin de repasser, mais theres probablement 10 façons différentes de le faire.

1

Consultez la documentation, http://api.jquery.com/jQuery.ajax/ vous trouverez une option de succès et erreur que vous fournissez une fonction à appeler lorsque la demande est réussie ou échoue.

$.ajax({ 
    url: 'ajax/test.html', 
    success: function(data) { 
     //reload your page 
    }, 
    error: function(data) { 
     alert("Resubmit the form!"); 
    } 
}); 
+0

Comment obtenez-vous votre fichier ajax pour aller à la fonction d'erreur? Je n'avais jamais vu ça avant. Je pensais que la fonction d'erreur était seulement si quelque chose se passait entre la connexion (comme la page ajax manquait/faux). Aussi, que se passe-t-il s'il y a un problème avec la connexion? L'utilisateur pensera que le formulaire a échoué et ne comprendra pas ce qui ne va pas. – Metropolis

+0

C'est ce que je pensais, la fonction d'erreur était si l'appel ajax était en erreur, l'erreur dont je parle est la validation côté serveur. – matthewb

+0

Je vois, j'ai mal compris votre question dans ce cas. J'aurais la page que vous publiez pour renvoyer un objet JSON avec les résultats de ce qui s'est passé à l'arrière. Ensuite, j'aurais la fonction définie dans l'option de succès gérer cet objet JSON pour déterminer ce qu'il faut faire ensuite. –