【发布时间】:2016-01-01 17:27:47
【问题描述】:
我在我的网站中同时使用 PHP 和 AJAX 从 JSON URL 获取数据并将其显示在网页上。当我在没有实现验证码的情况下使用它时,它可以正常工作,但是当我集成谷歌的验证码时,只有当验证码谜题每次解决两次时才会显示结果。我不确定错误实际上在哪里,我什至尝试实现自定义验证码,在这种情况下也是一样的。这是带有recaptcha的代码,
验证码和 Ajax 代码 sn-p:
<?php
if ($resp != null && $resp->success): ?>
echo"hi";
<script>
$(document).ready(function(){
$("#submit").click(function(){
$.post("retrieve_train_between_stations.php", $("#get_train_running").serialize(), function(response) {
$("#success").html(response);
});
return false;
});
});
</script>
<?php
else:
echo "Failed";
?>
【问题讨论】:
-
鉴于您的脚本,这是预期的行为。
-
我哪里出错了?这个问题有什么解决办法吗? @frz3993
-
脚本
$_POST的第一次加载不存在,所以$resp将是假的并且您的脚本部分不存在。在第一次提交时,$_POST将被填充,$resp将变为真,脚本部分就存在了。只有在第二次提交时,脚本才会生效。 -
我的建议,让
retrieve_train_between_stations.php检查recaptcha,使脚本始终可用(删除if/else),防止单击提交时的默认行为。并检查isset($_POST). -
@frz3993:哦,非常感谢您的建议,我会尝试并让您知道!再次感谢您!
标签: javascript php jquery ajax recaptcha