ari*_*rik 3 javascript php ajax captcha reload
这个问题可能已被提出 - 但不幸的是,我找不到任何令人满意的答案.我会问我的具体案例,并要求管理员不要删除这个问题至少几天,所以我可以尝试一下......
我有一个页面.它使用验证码.像这样:
<?php
session_start(); // the captcha saves the md5 into the session
?>
<img src="captcha.php" onclick="this.src = this.src" />
Run Code Online (Sandbox Code Playgroud)
这是我的第一个代码.它不起作用,因为如果源是相同的,浏览器认为它无法重新加载图像.我目前的解决方案是传递一个get参数:
onclick="this.src = 'captcha.php?randomNumber='+ranNum"
Run Code Online (Sandbox Code Playgroud)
var ranNum每次onclick事件触发时都会随机生成JavaScript变量.它工作正常,但是,我不喜欢这种可能性,如果 - 虽然不太可能 - 两个数字的情况连续两次相同.虽然随机数在-50,000到50,000之间变化 - 我仍然不喜欢它.我不认为这种方法是对的.我想通过AJAX了解'righter'方法.我知道这是可能的.我希望你知道它是如何可能的^^在这种情况下,请告诉我.
提前致谢!
顺便说一句 - 如果我拼写cap(t)cha不同,没关系,我的代码中对PHP文件的引用是正确的:我使用randomImage.php
编辑:只生成JavaScript中的随机数,以便重新加载图像.Captcha.php不关心$ _GET参数.字符串确实是随机的.
编辑:因此,我想知道的是如何使浏览器重新加载图像,而不是每次事件触发时传递不同的get参数.
不幸的是,AJAX没有提供动态加载图像的好方法.即使使用javascript"预加载"技巧,浏览器也会每个URL加载一次图像.让浏览器从同一个源加载另一个图像的唯一好方法是使用与您现在正在执行的不同的参数.而且,正如其他答案所述,时间戳应该足够了.
| 归档时间: |
|
| 查看次数: |
2607 次 |
| 最近记录: |