【发布时间】:2011-10-09 10:09:49
【问题描述】:
我的表单输入中有一个名为验证码的变量。
在我的 javascript 文件中,我有这个:
var captcha = $("input#captcha").val();
$.ajax({
type: "GET",
url: "includes/process.php",
data: captcha,
success: function() {
alert('Captcha is OK');
}
});
在我的 process.php 文件中,我有这个:
<?php
// Begin the session
session_start();
// To avoid case conflicts, make the input uppercase and check against the session value
// If it's correct, echo '1' as a string
if(strtoupper($_GET['captcha']) == $_SESSION['captcha_id'])
echo 'true';
// Else echo '0' as a string
else
echo 'false';
?>
我的问题是,无论我在输入中输入什么,它总是通过。我怎么能例如将 captcha_id 的值返回到我的 javascript 文件中,以便我可以检查它,例如在 javascript 中使用警报?
我认为我的 php 文件是错误的,因为无论我在验证码中输入什么内容(我已经使用 alert(captcha); 在 var captcha = $("input#captcha").val(); 之后进行了检查,并且它会提醒正确的值。
所以,我假设成功:...部分是错误的
或
process.php 中的 php 比较部分。要执行 ajx 的成功部分,它必须返回什么?
感谢您的建议。
已解决!至少对我来说是这样;)
这对我有用:
$.ajax({
type: "GET",
url: "includes/process.php",
data: "captcha=" + captcha,
success:function(data){
if(data=='true')
alert("OK");
else
alert("not ok");
}
});
process.php 保持不变。
谢谢大家,你们帮了我很多。
【问题讨论】:
标签: php javascript jquery ajax validation