这个问题可能已经被问过了——但不幸的是,我找不到任何令人满意的答案。我只是针对我的具体案例询问它,并要求管理员至少在几天内不要删除该问题,以便我可以尝试一下...
我有一个页面。它使用验证码。像这样:
<?php
session_start(); // the captcha saves the md5 into the session
?>
<img src="captcha.php" onclick="this.src = this.src" />
那是我的第一个代码。它不起作用,因为浏览器认为如果源相同,重新加载图像是没有用的。我目前的解决方案是传递一个 get 参数:
onclick="this.src = 'captcha.php?randomNumber='+ranNum"
var ranNum
每次onclick
触发事件时都会随机生成JavaScript 变量。它工作得很好,但我不喜欢这种可能性,如果 - 虽然不太可能 - 两个数字连续两次相同的情况。尽管随机数在 -50,000 和 50,000 之间变化 - 我仍然不喜欢它。而且我认为方法不对。我想通过 AJAX 了解“更正确”的方法。我知道这是可能的。我希望你知道这是怎么可能的^^在这种情况下,请告诉我。
提前致谢!
顺便说一句 - 如果我拼写 cap(t)cha 不同,没关系,对 PHP 文件的引用在我的代码中是正确的:我使用 randomImage.php
编辑:JavaScript 中的随机数只生成,以便重新加载图像。Captcha.php 不关心 $_GET 参数。字符串确实是随机的。
编辑:因此,我想知道的是如何让浏览器重新加载图像,而无需在每次事件触发时传递不同的 get 参数。