从Rest API获取图像.JQuery的问题
Getting image from Rest API. JQuery issues
两个相关的问题。
(this is my jquery.js file)
$.ajax
({
type: "GET",
url: "url",
dataType: 'image/png',
async: false,
beforeSend: function (xhr) {
xhr.withCredentials = true;
xhr.setRequestHeader("Authorization", "Bearer xxxx");
},
success: function (data) {
document.getElementById("myImage").src = data; // (will be in next question)
console.log(data);
}
});
当我得到JSON数据时,它会通过console.log将该数据放入chrome控制台(开发人员工具)。然而,对于png,我没有看到任何数据。这让我很担心,因为在图片的请求响应中,我看到二进制数据
�Ս-��tKn�v���6�k�˟>��������7�&=���+���?J�k�����y����L���m�(ψ/
但我需要确保这是在数据变量中,因为。src = data行。
这引出了我的下一个问题....如果图像二进制数据是在"数据"变量,它不应该显示在我的html?
<html>
<head>
<script src="//code.jquery.com/jquery-2.0.0.min.js"></script>
<script src="jquery.js"></script>
</head>
<body>
<img id="myImage" src="" />
</body>
</html>
谢谢!
为什么需要ajax调用呢?把
document.getElementById("myImage").src = url;
即使你通过ajax调用获得图像的内容,绕过所有浏览器问题,编码问题等,你也不能只是显示该图像,因为img的"src"属性接受URL而不是数据流。
除此之外,你的代码看起来很好,如果我去JQuery.com并在控制台中运行这个(FireFox -最新),我将得到数据流:
$.ajax
({
type: "GET",
url: "http://jquery.com/jquery-wp-content/themes/jquery.com/i/feature-sprites.png",
dataType: 'image/png',
async: false,
success: function (data) {
console.log(data);
}
});
你可能想确保你的身份验证没有失败,因为你可能在一个不同于API的域上运行脚本,你应该确保API允许CORS(跨域资源共享),这基本上意味着你可以从不同的域调用它。
相关文章:
- 带有slideUp/Down和clearQueue的jQuery问题
- html代码没有运行jquery问题
- 使用jquery问题将文本附加到文本区域
- 当变量中的.find()项有多个匹配项时,jQuery问题
- 由于jQuery问题,在实现Disqus插件时出现问题
- 在jquery问题中设置值
- 基本有类 jquery 问题
- 使用最接近查找文本输入的JQuery问题
- css上的Jquery问题
- 使用 jQuery 问题验证和提交表单
- 循环每个 jQuery 问题
- insertBefore() 一个 iframe jquery 问题
- Magento - 原型.js和jQuery问题 - 添加到购物车按钮
- 谷歌浏览器jQuery问题
- IE 中止插件脚本会导致现场出现 JQuery 问题
- 在 jquery 问题中加载更多选项
- Javascript - 使用 jQuery 问题选择选项
- 使用两个函数时出现 Jquery 问题
- jquery问题 - 它不会相应地改变它
- Jquery问题在Firefox和IE中,但不是Chrome