0

使用 jquery + php。做自定义 AJAX 验证码。即用户点击图像,它会自动更新。

<script src="/js/jquery.js"></script>

<script>

$(document).ready(function(){

    $.post('/captcha.php', {}, function(resp){

        $("div").html(resp);

    });

});

</script>

<div></div>

在 PHP 标头中已经发送,因此如果它包含在其中,<img src="/captcha.php" />则会以 jpeg 格式打印验证码。问题似乎是需要发送的标题。那么,我该怎么做呢?标头以 PHP 发送。它在 js 中不起作用。

4

3 回答 3

1

在您的 captcha.php 文件中添加标头函数:

header('Content-Type: image/jpeg');
于 2012-04-11T10:37:45.590 回答
1

如果要更改 HTML 文档中的图像,则更改图像的 src 属性(或将图像元素替换为新元素)。根本不要使用 XMLHttpRequest。

于 2012-04-11T10:40:23.057 回答
1

如果您从不同的脚本加载源代码,那么您可以简单地src通过字符串值发送文件。这样你的captcha.php代码就变成了这样

 $source="/path/to/the/file.jpg";
 header("Content-type:text/plain");
 print $source;

当您收到它时,您可以执行以下操作来更改来源

$("#changeCaptchaButton").click(function() {
  $.ajax({
    url: "captcha.php",
    cache: false,
    success: function(data) {
        alert("changing source of image");
        var source=data;
        $("#captchaImg").attr("src", source); 

      }
   });
});

如果您在当前脚本中进行更改,则不要使用 ajax,而是使用后一种 jQuery 方法

于 2012-04-11T10:50:47.010 回答