2010-03-23 136 views
5

當我使用此代碼時,我只設法檢索recaptcha_response_field。如果我刪除了recaptcha_response_field,我將檢索recaptcha_challenge_field。但是,我無法同時找回兩者。 我只設法發送1個數據。jquery.ajax多個數據檢索

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

回答

1

嘗試

data: { 
    recaptcha_response_field: responseField, 
    recaptcha_challenge_field: challengeField 
} 

你是什麼意思$_POST["recaptcha_response_field"]$_POST["recaptcha_challenge_field"]都沒有設置「裏面」ajax.recaptcha.php

這是不可能的Firebug的Net-Tab顯示請求正常工作。

你檢查你的服務器日誌(啓用後暫時的數據記錄)

+0

再次,只有一個工作 – 2010-03-23 17:30:21

+0

檢查擴大答案 – jitter 2010-03-23 17:58:20

+0

是的,這正是我的意思。我不知道爲什麼... 我使用joomla如果可以幫助。 服務器日誌中沒有任何相關內容。 謝謝 – 2010-03-23 18:58:52

1

莫比這樣的事情?

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

你寫這條線data: "recaptcha_response_field=" + responseField + "&recaptcha_challenge_field=" + challengeField,是錯的。

你可以試試這個:

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

data: {recaptcha_response_field : responseField , recaptcha_challenge_field :challengeField

感謝, Chintu

0

你可以嘗試這樣的

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