2009-08-10 8 views
3

Un couple de questions, d'abord avec cette var chaîne ci-dessous, le 1 fonctionne, mais je dois obtenir le second fonctionne, il y a une erreur snytax parce que je ne suis pas sûr de savoir comment l'écrireSimple réponse jquery ajax sur erreur

var string = 'id='+ id ; 
var string = 'id='+ id 'USER=1'; 

Deuxième; Cet appel ajax ci-dessous, il poste à delete.php pour supprimer un commentaire, cela fonctionne mais je voudrais ajouter une erreur de gestion. Une fois que je l'ai ajouté dans le backend, comment puis-je lui montrer une erreur dans jquery?

$.ajax({ 
    type: "POST", 
    url: "delete.php", 
    data: string, 
    cache: false, 
    success: function(){ 
    commentContainer.slideUp('slow', function() {$(this).remove();}); 
    $('#load').fadeOut(); 
    } 

Répondre

9

Vous manque un opérateur de concaténation et une esperluette, aussi je ne voudrais pas utiliser « string » comme nom de variable:

var str = 'id='+ id + '&USER=1'; 

Cela dit, « string » est pas un JS reserved word, mais semble toujours comme une mauvaise pratique (pour moi au moins).

Qu'est-ce que vous passez dans votre variable « chaîne » à .ajax $ est une chaîne de requête, je vous suggère de lire ce pour plus d'informations:

http://en.wikipedia.org/wiki/Query_string

Sur votre question sur la gestion des erreurs, d'une manière est de vérifier le texte de réponse pour quelque chose et agir en conséquence, par exemple:

$.ajax({ 
    type: "POST", 
    url: "delete.php", 
    data: string, 
    cache: false, 
    success: function(resp){ 
    if(resp == 'error') { //get PHP to echo the string 'error' if something bad happened 
     alert('There was an error!'); 
    } else { 
     commentContainer.slideUp('slow', function() { 
      $(this).remove(); 
     }); 
     $('#load').fadeOut(); 
    } 
    } 
    }); 
+0

qui ressemble à cela fonctionnerait parfait, je reçois 1 droit d'erreur maintenant si manquant} après la liste des propriétés, et voici ce qui est sur la ligne avec l'erreur =}); – JasonDavis

+0

@jasondavis - le bloc de succès n'a pas été fermé correctement - j'ai modifié, veuillez réessayer. – karim79

+0

l'ai maintenant, merci! – JasonDavis

0

pour la deuxième question, voulez-vous dire une erreur HTTP ou une erreur dans le code côté serveur?

Si vous voulez dire une erreur HTTP, tout comme le « succès » il y a une « erreur » qui peut être appelé

Voir les docs here

+0

Je veux dire mes propres erreurs, comme si un utilisateur publie de nombreux commentaires dans x quantité de temps, je voudrais renvoyer un code d'erreur à jquery au navigateur pour montrer un message au lieu de le renvoyer comme succès – JasonDavis