使用jQuery的ajax调用来刷新验证码

cod*_*ple 2 php ajax captcha

我写了自己的php captcha脚本,带有jpeg标题,这样我就可以说了

<img src="captcha.php">
Run Code Online (Sandbox Code Playgroud)

它的工作原理是将验证码的值存储到会话变量中.当用户无法阅读时,我希望它可以刷新.

我第一次尝试

$("#refresh").click(function() {
    $("#captcha").attr("src","captcha.php");
});
Run Code Online (Sandbox Code Playgroud)

但当然这没有意义,我需要做一个ajax调用.你们怎么都建议我这样做?

PS我也试过了

$.ajax({
    url: "captcha.php",
    success: function(result) {
        $("#captcha").attr("src",result);
    }
});
Run Code Online (Sandbox Code Playgroud)

ova*_*riq 5

第一种方法实际上对我有意义:

$("#refresh").click(function() {
    $("#captcha").attr("src","captcha.php?r=" + Math.random());
});
Run Code Online (Sandbox Code Playgroud)

我假设captcha.php唯一做的就是将captcha值存储在会话变量中,并在访问时输出验证码图像.

因此,当您再次设置图像的src并向其添加查询字符串变量时,请求将再次发送到服务器脚本"captcha.php",然后重新生成验证码并将新值存储在会话变量.