2010-03-23 13 views
5

Cuando uso este código, solo logro recuperar recaptcha_response_field. Si elimino recaptcha_response_field, recupero recaptcha_challenge_field. Sin embargo, no puedo recuperar los dos al mismo tiempo. Solo logré enviar 1 información.jquery.ajax recuperación de datos múltiples

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; 
} 

Respuesta

1

Trate

data: { 
    recaptcha_response_field: responseField, 
    recaptcha_challenge_field: challengeField 
} 

??

¿Qué quiere decir que $_POST["recaptcha_response_field"] y $_POST["recaptcha_challenge_field"] no se establecen "dentro" ajax.recaptcha.php.

Eso es imposible Firebug's Net-Tab muestra que la solicitud simplemente funciona bien.

¿Ha comprobado los registros del servidor (habilitar el registro de datos de correos temporalmente)

+0

Una vez más, sólo uno funciona –

+0

Comprobar respuesta expandida – jitter

+0

Sí, eso es exactamente lo que quiero decir. No sé por qué sin embargo ... Estoy usando Joomla si eso puede ayudar. No hay nada relevante en los registros de servidores. Gracias –

1

Maby algo como esto?

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

escribió esta línea data: "recaptcha_response_field=" + responseField + "&recaptcha_challenge_field=" + challengeField, era incorrecta.

puede probar esto:

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

o data: {recaptcha_response_field : responseField , recaptcha_challenge_field :challengeField

gracias, Chintu

0

Usted puede tratar como esto

data: "recaptcha_response_field=" + $("#recaptcha_challenge_field").val() + "&recaptcha_challenge_field=" + ("#recaptcha_response_field").val(), 
Cuestiones relacionadas