Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用ajax请求获取图像?_Php_Jquery_Ajax - Fatal编程技术网

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

Php 如何使用ajax请求获取图像?,php,jquery,ajax,Php,Jquery,Ajax,有一个.php文件,返回.png图像文件 如何使用jQuery$.ajax()获取此图像 另外,输入参数有一些错误,.php文件将以JSON方式返回错误 如何理解返回了哪些信息-图像或JSON错误 更新: 我需要用这个脚本绘制一些统计图形.php文件获取一些数据(例如,请求统计信息的帐户id)并检查-是否允许该用户(从会话获取的用户id)查看请求的用户统计信息。如果允许,则返回than图像,如果不允许,则返回than json错误。 所以我可以做,但如果有错误,图像不会加载。但我需要向用户显示错

有一个.php文件,返回.png图像文件

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

另外,输入参数有一些错误,.php文件将以JSON方式返回错误

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

更新:

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

如果您要将此图像作为附件返回到响应,我想您无法在javascript变量中获取此附件,否则如果您在响应流中返回图像并设置属性内容类型,您只需将
.php
分配给图像
srs

$('img').attr('src', 'my-image-handler.php'); 

您可以这样使用它:

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

因此,我建议您从ajax请求中获取base64编码字符串,并使用它来显示图像

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


这就好比,如果你向服务器发送JSON,就可以获取XML,但是如果你是JS,那么HTML就无法工作。

是的,我理解这一点。但是如何处理错误。我将在我的第一篇文章中写更多关于这一点的内容,作为一个选项,创建另一个
.php
,它将被请求使用必要的参数,并将执行您描述的验证。如果请求有效,它将返回您将设置为图像源的图像url,否则将处理错误。即使对于非常小的图像,base64编码字符串的实际大小也是巨大的。