微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 动态创建的图像不会显示何时刷新src以指向它

我有一个javascript函数

generateGraph() {
    ...
    jQuery.get('chart.PHP?month='+month+'&year='+year);
    document.getElementById('graph').src = 'charts/'+month+'_'+year+'.png';
    ...
}

这被称为onChange.它基本上创建(如果不存在)或刷新(如果已经存在),PNG图像(使用上面的第一行)并且应该显示生成的图像(使用上面的第二行).

第一行有效,但第二行没有.意思是,生成图像,但第二行无法显示图像,除非重新加载页面,或者在页面加载之前已经存在的图像已经存在(意味着第一行只是“刷新”图像)

关于为什么会这样以及如何解决它的任何想法?

非常感谢您的帮助!

解决方法:

试试这个:

generateGraph() {
    ...
    jQuery.get('chart.PHP?month='+month+'&year='+year, function() {
        document.getElementById('graph').src = 'charts/'+month+'_'+year+'.png';
        // as mentioned by others this also works and is in the jquery style:
        // $("#graph").attr("src", "charts/" + month + "_" + year + ".png");
    });
    ...
}

如果我理解了所有内容,则调用chart.PHP会在charts / month_year.png中生成图像.如果这是正确的,您的原始代码会在发送生成该图像的请求后立即发送图像请求.这没有足够的时间让服务器创建并将图像发布到charts / month_year.png,这就是为什么没有出现的原因.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐