我有一个PHP脚本,它生成一个包含验证码文本的PNG图像。
我希望能够通过jQuery或JavaScript重新加载图像,因此我正在使用以下内容:
session_start();
$captchanumber = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz';
$captchanumber = substr(str_shuffle($captchanumber), 0, 8);
$_SESSION["code"] = $captchanumber;
$image = imagecreatefromjpeg("cap.jpg");
$black = imagecolorallocate($image, 160, 160, 160);
$font = '../assets/fonts/OpenSans-Regular.ttf';
imagettftext($image, 20, 0, 35, 27, $black, $font, $captchanumber);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
我希望能够通过jQuery或JavaScript重新加载图像,因此我正在使用以下内容:
$(document).ready(function(e) {
$('.captcha').click(function(){
alert('yolo');
var id = Math.random();
$(".captcha").replaceWith('<img class="captcha" src="img/captcha.php?id='+id+'" />');
id ='';
});
});
该领域:
<img class="captcha" src="img/captcha.php">
作为第一次尝试,它起作用了,但之后如果我再次点击该字段,它将不会再起作用,我不知道为什么。