我希望这不是重复的;我阅读的其他类似问题并没有帮助我解决问题。
我从 jQuery Ajax 调用到我的 PHP 脚本收到一个空白响应(即 data = ""),用于验证用户提交的 CAPTCHA 值。我正在为我的验证码使用Cryptographp,它按预期工作,所以我认为这很可能是我的 Ajax 调用或 PHP 脚本中的错误。
Firebug 显示正确的 POST 值(“代码”是要测试的提交的验证码值):
code a
email a@a.com
emailtext a
firstname a
lastname a
phone
Ajax 函数调用 onsubmit 来判断是否提交表单:
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;
}
验证码.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;
?>
我的期望是上面的代码片段应该返回一个简单的“真”或“假”的响应,但也许情况并非如此。
任何指出我的错误的帮助将不胜感激!