如何使用ajax请求获取图像?

时间:2011-09-24 16:47:40

标签: php jquery ajax

有一些.php文件,它返回.png图像文件。

如何使用jQuery $.ajax()获取此图像?

此外,输入参数是否存在错误,.php文件将以JSON方式返回错误。

如何理解,返回了哪些信息 - 图像或JSON有错误?

更新

我需要用这个脚本绘制一些统计图形。 .php文件获取一些数据(例如帐户ID,请求统计信息)和检查 - 是否允许此用户(从会话获取用户ID,以查看所请求用户的统计信息)。如果允许,则返回image,如果不是,则返回json错误。 所以我可以做,但如果会有错误,图像不会加载。但我需要向用户显示错误通知。

3 个答案:

答案 0 :(得分:3)

如果您将此图像作为响应附件返回 - 我不能在javascript变量中获取此附件,否则如果您在响应流中返回图像并设置属性内容类型,则可以为您分配{{1}成像.php

srs

答案 1 :(得分:2)

你可以像这样使用它:

<img src="data:image/png;base64,R0lGODlhUA... " width="80" height="15" />

所以我建议你从ajax请求中获取base64编码的字符串并使用它来显示图像

答案 2 :(得分:1)

http://www.anthonymclin.com/code/7-miscellaneous/98-on-demand-image-loading-with-jquery

您需要以正确的格式将图像发送到AJAX请求。 解决方案例如是octect流,base64等。有许多方法可以实现按需内容加载。 重要的是保持服务器端和客户端同步。

就像是,如果你将JSON发送到服务器,获取XML,但是期望HTML,你的JS将无法工作。