2010-03-23 7 views
5

Lorsque j'utilise ce code, je parviens seulement à récupérer recaptcha_response_field. Si j'enlève recaptcha_response_field, je récupère recaptcha_challenge_field. Cependant, je suis incapable de récupérer les deux en même temps. J'ai seulement réussi à envoyer 1 données.jquery.ajax récupération de données multiples

challengeField = $("#recaptcha_challenge_field").val(); 
responseField = $("#recaptcha_response_field").val(); 

var html = $.ajax(
    { 
     global: false, 
     type: "POST", 
     async: false, 
     dataType: "html", 
     data: "recaptcha_response_field=" + responseField + "&recaptcha_challenge_field=" + challengeField, 
     url: "../ajax.recaptcha.php" 
    }).responseText; 

if(html == "success") 
{ 
    $("#captchaStatus").html("Success. Submitting form."); 
    return true; 
} 
else 
{ 
    $("#captchaStatus").html("Your captcha is incorrect. Please try again"); 
    Recaptcha.reload(); 
    return false; 
} 

Répondre

1

Essayez

data: { 
    recaptcha_response_field: responseField, 
    recaptcha_challenge_field: challengeField 
} 

??

Que voulez-vous dire que $_POST["recaptcha_response_field"] et $_POST["recaptcha_challenge_field"] ne sont pas tous les deux réglés "à l'intérieur" ajax.recaptcha.php.

C'est impossible La Net-Tab de Firebug montre que la requête fonctionne correctement.

Avez-vous vérifié vos journaux de serveur (activer les données post vous connecter temporairement)

+0

Encore une fois, une seule fonctionne –

+0

Vérifier réponse étendue – jitter

+0

Ouais c'est exactement ce que je veux dire. Je ne sais pas pourquoi cependant ... J'utilise joomla si cela peut aider. Il n'y a rien de pertinent dans les journaux des serveurs. Merci –

1

Maby quelque chose comme ça?

var challengeField = $("#recaptcha_challenge_field").val(); 
var responseField = $("#recaptcha_response_field").val(); 

/* Debug */ alert ("Going to send channengeField with value '" + challengeField + "', and responseField with '" + resonseField + "'"); 

$.post ("../ajax.recaptcha.php", { 
     recaptcha_response_field: responseField, 
     recaptcha_challenge_field: challengeField 
    }, 
    function(data) 
    { 
     /* Debug */ alert ("Data Recieved: " + data); 

     if (data == "success") 
     { 
      $("#captchaStatus").html("Success. Submitting form."); 

      return true; 
     } 
     else 
     { 
      $("#captchaStatus").html("Your captcha is incorrect. Please try again"); 
      Recaptcha.reload(); 

      return false; 
     } 
    }); 
2

vous avez écrit cette ligne data: "recaptcha_response_field=" + responseField + "&recaptcha_challenge_field=" + challengeField, était faux.

vous pouvez essayer ceci:

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" } 
}).done(function(msg) { 
      alert("Data Saved: " + msg); 
    }); 

ou data: {recaptcha_response_field : responseField , recaptcha_challenge_field :challengeField

grâce, Chintu

0

Vous pouvez essayer comme ça

data: "recaptcha_response_field=" + $("#recaptcha_challenge_field").val() + "&recaptcha_challenge_field=" + ("#recaptcha_response_field").val(), 
Questions connexes