Ciao a tutti,
ho implementato il Re-Captcha su un form, e con il metodo base "paginaConCaptha.php" che passa i valori via POST a "inviaEmail.php" non ci sono problemi, il captcha viene validato e letto correttamente.

Sto ora provando a fare il tutto via Ajax, e sembra che il file PHP non riceva i valori (o Ajax non li spedisca).

Andiamo per gradi:

1 -> Pagina con il form include questo JS (ometto alcuni passaggi credo inutili)

codice:
(document).ready(function(){
	$("#invia").click(function(){
 
	//Recuperiamo tutte le variabili
		var name = $("#nome").val();
		var mail = $("#email").val();
		var subject = $("#motivo").val();
		var messaggio = $("#messaggio").val();
		var challenge = $("#recaptcha_challenge_field").val();
		var response = $("#recaptcha_response_field").val();
 
	var datastr ='name=' + name + '&mail=' + mail + '&subject=' + subject + '&messaggio=' + encodeURIComponent(messaggio) + '&challenge=' + challenge + '&response=' + response;
			$("#risposta").css("display", "block");
			$("#risposta").css("background-color","#FFFFA0");
			$("#risposta").html("Invio del messaggio in corso..");
			$("#risposta").fadeIn("slow");
			setTimeout("send('"+datastr+"')",2000);

	});
});
//Creazione della funzione di invio. Si baserà sul nostro file php "mail.php".
function send(datastr){
	$.ajax({
		type: "POST",
		url: "comandi.php?azione=sendEmail",
		data: datastr,
		cache: false,
		success: function(html){
		$("#risposta").fadeIn("slow");
		$("#risposta").html(html);
		$("#risposta").css("background-color","#e1ffc0");
		setTimeout('$("#risposta").fadeOut("slow")',2000);
	}
	});
}
Verificando con Firebug, ho visto che la pagina trasmette correttamente un URL con encodati tutti i valori (name=blabla&mail=blabla@blabla.it&challenge=serie infinita dicodici Di Google&response=il valore della risposta al captcha)

Veniamo alla pagina che si occupa di ricevere i dati:

codice:
case 'sendEmail':
                echo $_POST["name"]; // <= stampa correttamente il nome passato dal form
                echo $_POST["challenge"]; <= vuota, non stampa nulla :(
                echo $_POST["response"]; <= vuota, non stampa nulla :(
		require_once($percorso_file_assoluto.'recaptchalib.php');
		$privatekey = "miaKeyCorretta";
		$resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["challenge"],
                                $_POST["response"]);

		if (!$resp->is_valid) {
		// What happens when the CAPTCHA was entered incorrectly
                        // ovviamente KO perchè non c'è soluzione :(

			die ("Il codice antispam inserito non &egrave; corretto. Riprova." .
			"(Errore: " . $resp->error . ")");
			
		} else {
		echo "ok";
		// Your code here to handle a successful verification
		}
Come detto, ajax trasmette ANCHE challenge e response, il PHP non li riceve mentre riceve le altre variabili concatenate

Grazie in anticipo a chi mi helperà