JQuery.AJAX – 我的服务器可以返回一大块数据吗?

前端之家收集整理的这篇文章主要介绍了JQuery.AJAX – 我的服务器可以返回一大块数据吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于 JQuery.AJAX函数的dataType选项,我没有看到字节数组或blob作为可能性之一.

我如何得到它,以便我的服务器可以返回一个字节数组作为AJAX调用的结果?

我可以将blob转换为文本,但我要求紧凑.

编辑:blob不会显示用户.我的javascript将查看它并从中创建一个对象.它大约是一个50kb的blob,速度很重要,所以如果我不需要,我不想添加任何臃肿.

编辑:我的数据是一个整数数组. Base64编码是可能的,但我不想添加膨胀.如果没有办法做到这一点,我想我只会对它进行Base64编码.

解决方法

编辑:根据评论讨论,我想修改我的答案.如果你传递一个整数数组,并且可以在服务器端获得它的格式,那么你应该把它变成 JSON.JSON支持传递整数,jQuery很容易支持获取JSON.

一组int的示例JSON:

{
"array": [0,1,2,3,4,5]
}

用于检索JSON的示例Javascript / jQuery代码

$.getJSON('/url/to/binary/data/returning/json',function(data) {
        // access the array this way:
        var array = data.array;
        var first = array[0];
        // so here you can do whatever your code needs with that array
    }
);

老建议

虽然我同意上述评论者,但我认为应该可以这样做.有一个base64编码器/解码器jQuery plugin应该有助于传输您的数据. (导致一点bloat,这是真的).如果你对数组进行base64编码,你应该能够传输它.

如果您只想下载二进制数据(不显示它),请将响应的MIME类型设置为application / octet-stream,并为适当的浏览器处理提供附件名称.

$.get('/url/to/binary/data',function(data) {
        // convert binary data to whatever format you would like to use here with
        // an encoded string,have the browser download,call
        // a helper function,etc.
    }
);

您可能需要考虑查看通常通过HTTP传输的其他格式(或者在必要时使用其他传输协议),具体取决于您尝试执行的操作.

原文链接:https://www.f2er.com/jquery/177151.html

猜你在找的jQuery相关文章