jquery
  • json
  • 2009-09-25 12 views 0 likes 
    0
    $.ajax({ 
    url: "_includes/contactform.php", 
    type: "POST", 
    data:'name=' + nameValue + "&email=" + emailValue + "&text=" + textValue + "&checkbox=" + checkValue + "&submit=true", 
    dataType:"json", 
    success: function(data,result,res) { 
    alert(res); 
    console.log(data); 
    if(data.checkbox == "true"){ 
        $("#success h1").html("The form was sent successfully. Thank you for signing up for our newsletter.") 
    } 
    

    });jquery se bloque?

    Mon script est bloqué lors de l'exécution.

    ici est le retour du serveur:

    $json_array = array("checkbox" => $checkbox); 
    echo json_encode($json_array); 
    

    Répondre

    1

    Jetez un oeil dans l'onglet Firebug net pour voir ce que les données sont renvoyées ou si le serveur renvoie une 500.

    1

    Vous pouvez également regarder dans le Firebug console et voir ce qui a été envoyé et ce qui a été retourné.

    Vous pouvez également faire en sorte que votre formulaire de contact.php fonctionne avec GET et le tester depuis le navigateur, en vous assurant que votre script n'a aucun problème.

    Dépannez-le une partie à la fois et utilisez souvent un pare-feu. :)

    Mise à jour: il suffit de regarder votre javascript et le problème est dans votre fonction de succès.

    Allez sur json.org, obtenez un fichier javascript (regardez les langues au bas de la page). Analysez la variable de données et récupérez l'objet json. Ensuite, utilisez ce résultat dans le javascript. Le problème est que vous supposez que le résultat de json est déjà un objet javascript, et ce n'est pas le cas. Vous devez le convertir en un, soit en utilisant la fonction eval (très risqué) ou en utilisant une bibliothèque pour l'analyser.
    Voici un exemple de ce que je décris: http://www.factsandpeople.com/facts-mainmenu-5/26-html-and-javascript/89-jquery-ajax-json-and-php

    ou vous pouvez essayer, qui est .getJSON $ http://docs.jquery.com/Ajax/jQuery.getJSON

    +0

    -je utiliser le débogueur de safari. il revient: {"checkbox": "false"}; c'est comme si ça ne revenait pas correctement. –

    +0

    Si vous utilisez Firebug sur Firefox, vous pouvez voir ce qui a été retourné dans la requête. Si le json est listé dans votre commentaire, alors il doit revenir. Ensuite, il s'agit de savoir comment vous traitez le résultat, ce qui devrait se passer. –

    +0

    Si votre script PHP entier pour gérer cette réponse est ce que vous nous avez montré et que vous obtenez {"checkbox": "false"} comme réponse du serveur, c'est parce que votre valeur pour $ checkbox est "false". Cela signifie aussi que vous supposez que 'register_globals' est activé (ce qui, franchement, serait horrible). Je suppose beaucoup de choses ici, alors redressez-moi si j'ai tort afin que je puisse vous aider davantage. – KyleFarris

    Questions connexes