【发布时间】:2017-07-23 06:36:43
【问题描述】:
我有一个带有按钮的简单 HTML 页面。 Onclick 它应该通过 Ajax 调用显示图像。
它在 Postman Rest Client 中运行良好。
但在浏览器中显示的是原始数据而不是图片。
HTML
<html>
<button type="button" id="test" onclick="asset();"> Show Asset </button>
<div class="result"></div>
</html>
阿贾克斯
$("#test").on("click", function asset() {
$.ajax({
type: 'GET',
url: 'https://url', //get an image
//url: 'https://url', //get audio file
beforeSend: function(xhr) {
xhr.setRequestHeader('Accept', 'image/png');
//xhr.setRequestHeader('Accept', 'audio/x-wav');
},
success: function(data) {
$(".result").html(data);
},
error: function(e) {
alert("error post" + JSON.stringify(e));
}
});
});
原始数据示例 -
�PNG IHDR�O^�fsRGB���gAMA���a pHYs���o�d�mIDATx^��{TUG����3���%c�N�8������N'��;Iw'�yu�_�Q�((�����(�E@T@��%B$$�ݝd�����I�$w�xn��3�[_�9ך�Zk��^��Wc
我应该怎么做才能得到图像?
问题 2。 如何在 html 页面中显示/播放音频/视频?截至目前,当我使用另一个音频网址时......浏览器中没有任何内容显示。
---编辑--- @Everyone 感谢您的快速解决方案。 实际上,我还需要连同 URL 一起发送一个 HTTP 标头。 因为 URL 可能会根据请求标头给我一个图像/音频/视频文件。
在这种情况下,如何在网页中显示图像/音频/视频?
【问题讨论】:
-
url返回的数据类型是什么?一份文件 ?一个字符串?
-
如果您的
url只是图片链接,则无需拨打ajax电话。只需将img标记添加到您的html并修改其src属性值。
标签: javascript jquery html ajax image