首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新captcha时如何在AJAX中设置HTTP头部img-type jpeg/png?

问更新captcha时如何在AJAX中设置HTTP头部img-type jpeg/png?
EN

Stack Overflow用户
提问于 2012-04-11 18:35:46
回答 3查看 1.6K关注 0票数 0

使用jquery + php。自定义AJAX验证码。也就是说,用户点击图片,它会自动更新。

代码语言:javascript
复制
<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中不起作用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-11 18:40:23

如果要更改HTML文档中的图像,请更改图像的src属性(或用新的图像元素替换图像元素)。完全不要使用XMLHttpRequest。

票数 1
EN

Stack Overflow用户

发布于 2012-04-11 18:37:46

在captcha.php文件中添加header function:

代码语言:javascript
复制
header('Content-Type: image/jpeg');
票数 1
EN

Stack Overflow用户

发布于 2012-04-11 18:50:47

如果您从不同的脚本加载源,则只需通过字符串值发送文件的src。这样,您的captcha.php代码就会变成如下所示

代码语言:javascript
复制
 $source="/path/to/the/file.jpg";
 header("Content-type:text/plain");
 print $source;

收到后,您可以执行以下操作来更改源

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

      }
   });
});

如果要在current script中进行更改,请不要使用ajax,而应使用后一种jQuery方法

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10104289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档