Ajax Jquery Blob响应

时间:2015-10-04 23:16:46

标签: javascript jquery ajax jquery-mobile blob

我正在使用移动应用程序,并且在使用Jquery Ajax get方法时遇到了一些问题。我想从我的服务器接收视频,但不知怎的,我无法以我想要的格式接收文件。

这是工作的xhr代码: (将数据作为blob和所有内容接收)

window.URL = window.URL || window.webkitURL;
        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'MyServerAddress/testVideos/test.mp4', true);
        xhr.responseType = 'blob';
        xhr.onload = function(e) {
            if (xhr.status === 200) {
                var video = document.createElement('video');
                video.src = window.URL.createObjectURL(this.response);
                video.autoplay = true;
                document.body.appendChild(video);
            }else{
                "CORS failed. Check Internet Connection."
            }
};
xhr.send();

但遗憾的是,此代码并未在移动设备上运行。

Jquery Ajax:

 jQuery.ajaxSetup({
             async:false,
             dataType:'blob'
 });

 $.get("MyServerAddress/testVideos/test.mp4",function(d){
             var video = document.createElement('video');
             video.src = window.URL.createObjectURL(d);
             video.autoplay = true;
             document.body.appendChild(video);
 }).error(function(xhr, ajaxOptions, thrownError){
            console.log(xhr);
            console.log(ajaxOptions);
            console.log(thrownError);
 });

当我运行Jeuqry Code时,我得到了#parsererror (索引):67无法从文本转换为blob"误差修改。因为传输的数据不是blob类型的。

我的问题: 是否有可能直接将数据从jquery发送为blob?如果有,怎么样? (我认为jquery api不是很好) 有没有办法让上面的代码在移动设备上工作?

非常感谢, SirSandmann

0 个答案:

没有答案