1

我试图了解如何处理从跨域 AJAX GET 请求返回的数据。在这种情况下,它应该返回“图像”。我是 Ajax 的新手,所以我希望有一个简单的答案。我必须data = { width: 300px }在我的 GET 请求中包含 。只需使用浏览器显示图像即可显示 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�&gt;����' +���������-9���|8e� $0�GD�ڃ�e"t:C�&lt;�������?�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+�

任何帮助将不胜感激。

-大卫

4

1 回答 1

0

你的问题有点混乱,所以这可能不是你要找的。

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

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

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

于 2013-08-11T00:09:14.450 回答