2010-08-04 7 views

Répondre

1

Envoie une requête ajax avec des données côté serveur, et si des données existent, renvoie une sorte de code d'erreur. Ensuite, dans le gestionnaire ajax, vérifiez l'erreur, si elle est présente, affichez le message "Les données existent déjà", sinon affichez le message "Les données ont été ajoutées". Le côté serveur doit vérifier les doublons et insérer de nouvelles données.

Si l'utilisateur sélectionne "ok" dans la boîte de dialogue "Data exists", envoyez une autre requête avec le paramètre pour supprimer l'erreur de duplication.

Client:

$.post("server.php", { "data": somedata }, function(result) { 
if (result.error && result.error == 1) 
    if (confirm("Duplicate data, continue?")) 
    $.post("server.php, { "data": somedata, "suppress": 1 }, function(result) { 
     alert("Data was added"); 
    }); 
else 
    alert("Data was added"); 
}, "json"); // we accept result in json format, jQuery will process it into JS object 

Serveur:

if (isset($_POST['data']) && $_POST['data'] != "") { 
    if (check_duplicate($_POST['data']) // don't forget to implement this 
     && $_POST['suppress'] != 1) 
    return '{ "error": 1 }'; 
    else { 
    insert_data($_POST['data']); 
    return '{ ok }'; // you can return empty string as well 
    } 
} 
+0

vous dites "data": somedata..can vous me donner l'exemple pour cela? – klox

+0

Disons que vous avez 2 entrées de formulaire avec les identifiants "i1" et "i2". Ensuite, vous envoyez des données comme ceci: {"i1": $ ("# i1"). Val(), "i2": $ ("# i2"). Val()}. Mettez ceci comme second paramètre de la fonction $ .post(). Et changez le code PHP de manière appropriée. – fuwaneko

Questions connexes