var x;
function addtoDom() {
console.log("Adding to DOm");
$("#capt").html('<div id="mduit"><img src="captcha1.jpg"></div>');
}
function request() {
$.ajax({
url: "mudit.php",
type: "GET",
success: function (data) {
console.log(data);
x = data;
addtoDom();
}
});
}
request();
此处为 Mudit.php
<?
// header("Content-type:image/jpeg");
session_start();
$img = imagecreate(150,60);
imagecolorallocate($img,200,255,200);
$abc = rand();
while ($abc < 10000) {
$abc = rand();
}
$_SESSION['Captcha_num'] = $abc;
imagettftext($img,35,0,0,40, 89,"abcd.ttf", $abc);
imagejpeg($img,"captcha1.jpg",65);
echo $abc;
?>
这里的代码在 Chrome 中运行良好,但在 Firefox 中不起作用。 即在点击刷新按钮刷新图像时..验证码在 chrome 中刷新 但在 Firefox 中不行。
最佳答案
这可能是缓存问题。试试这个:
function addtoDom() {
$("#capt").html('<div id="mduit"><img src="captcha1.jpg?' + +new Date() + '"></div>');
}
由于每次点击都有新的 GET 参数,这里 captcha1.jpg 将被强制刷新。
也不要这样做:
echo $abc;
这没有意义,因为它是 secret 的,并且您不想向客户提供此值。
关于javascript - Ajax 请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21349777/