我希望這不是重複的;我讀到的其他類似問題並不能幫助我解決問題。來自jQuery Ajax調用PHP腳本的空白響應
我收到從一個jQuery Ajax調用我的PHP腳本,用於驗證用戶提交的CAPTCHA值空白響應(即數據=「」)。我爲我的CAPTCHA使用了Cryptographp,並且它按預期工作,所以我認爲這很可能是我的Ajax調用或PHP腳本中的錯誤。
Firebug顯示正確POST值( '代碼' 是所提交的CAPTCHA值來測試):
code a
email [email protected]
emailtext a
firstname a
lastname a
phone
叫的onsubmit,以確定是否將提交表單的Ajax功能:
function validateCaptcha()
{
// Assume an invalid CAPTCHA
var valid = false;
// The form containing the CAPTCHA value
var data_string = $('form#emailform').serialize();
// Make the Ajax call
$.ajax({
url: "captcha.php",
data: data_string,
type: "POST",
async: false,
success: function (data) {
if (data == "true")
{
valid = true;
}
alert ("data: " + data);
}
});
return valid;
}
captcha.php
<?
$cryptinstall="crypt/cryptographp.fct.php";
include $cryptinstall;
// Begin the session
session_start();
//Check if CAPTCHA values match
if(chk_crypt($_POST["code"]))
return true;
else
return false;
?>
我意料的是,上面的代碼應該返回簡單的「真」或迴應「假」,但也許這是情況並非如此。
任何幫助指出我的錯誤將不勝感激!
順便說一句,我注意到很多人批評使得阿賈克斯同步調用(廢話,* A * JAX,我知道了!)。任何解釋爲什麼我希望我的表單提交是異步/非阻塞的,這是值得歡迎的。 – 2012-08-15 19:04:43