如何处理从ajax get请求返回的图像数据

时间:2013-08-11 00:00:42

标签: ajax image return put

我试图了解如何处理从跨源AJAX GET请求返回的数据。在这种情况下,它应该返回“图像”。我是Ajax的新手,所以我希望有一个简单的答案。我必须在我的GET请求中包含data = { width: 300px }。只需使用浏览器显示图像即可显示75px图像。我正在与API进行交互,因此这是他们建议获得300px版本的方法。

function Ajaxwrapper (MYurl, MYdata, errorHandler, callback, method) {
  $.ajax({
        url: MYurl,
        data: MYdata,
        type: method,
        success: callback,
        error: errorHandler,
        xhrFields: { withCredentials: true }
  });
}


function getPreview (el) {

    var url = 'http://MYURL';

    var data = {
        book: {
            width: '300px'
        }
    };

    Ajaxwrapper(url, data, function(xhr){ console.log(xhr.status); }, function(data){

        // How the heck do I deal with the data
        var HTMLpreview = '<img src="' + data + '">';

        el.append(HTMLpreview);

    }, 'get');
}

这是使用IMG SRC="returned data"

输出的内容
+���+�\�E��{�%�ns�$��E�9�k;k�-� �fd��Y�}��e�K���w��f@X���"Q�G%�ͼ%�����D5����"��2�!'��tbF����[����A0���5�>����' +���������-9���|8e� $0�GD�ڃ�e"t:C�<�������?�Z� �=��>��?�Oo����}�����6�o����}����b�zMuUťR��ds`� ֞�z�J���s~?{w��9�ֳ��bܠ"g����ط(�ٙ���dv��:���c���ʮd��Y�}��h��X���r��4 ]5���r��,d�"=��$�q����e���e�I|:<*DP]K`.��M�s�p��G�"���V]��F�ãѠQ ���(P�� :�"" )+%�ߏ���b�T���o��n�1>s��v�l[�L������{32]X��۾�T�\�{�_9U̗V+#���-8+�

真的很感激任何帮助。

-David

1 个答案:

答案 0 :(得分:0)

你的问题有点令人困惑,所以这可能不是你想要的。

您的api应该向您提供有关它返回的数据类型的信息(内容类型)。您可以使用它来决定如何处理结果。

看起来您正在获取二进制图像文件。您可以创建一个dom图像对象并将其插入到要显示的页面中

如果你在没有包装库的情况下使用直接javascript,它可能是这样的:http://xhr.spec.whatwg.org/