XMLHttpRequest加载文件过慢怎么办 255
varxhr=newXMLHttpRequest();xhr.open('get',src,true);xhr.onreadystatechange=function()...
var xhr = new XMLHttpRequest();
xhr.open('get',src,true);
xhr.onreadystatechange = function() {
if (this.readyState==4 && this.status == 200) {
alert(1);
}
}
xhr.send(null);
src 是个10MB的文件 这样的话 将网页放在服务器上,打开网页,网页后台需要下载完这10MB的文件才会执行alert(1);这样的话,要等待很久,请问怎么解决呀
比如视频文件,直接用src的话,浏览器可以直接读取,然后异步播放加载,然而先放到XHR上的话,就需要把视频加载完才能读取 展开
xhr.open('get',src,true);
xhr.onreadystatechange = function() {
if (this.readyState==4 && this.status == 200) {
alert(1);
}
}
xhr.send(null);
src 是个10MB的文件 这样的话 将网页放在服务器上,打开网页,网页后台需要下载完这10MB的文件才会执行alert(1);这样的话,要等待很久,请问怎么解决呀
比如视频文件,直接用src的话,浏览器可以直接读取,然后异步播放加载,然而先放到XHR上的话,就需要把视频加载完才能读取 展开
2017-11-28 · 知道合伙人互联网行家
关注
展开全部
XMLHttpRequest 让发送一个HTTP请求变得非常容易。你只需要简单的创建一个请求对象实例,打开一个URL,然后发送这个请求。当传输完毕后,结果的HTTP状态以及返回的响应内容也可以从请求对象中获取。
通过XMLHttpRequest生成的请求可以有两种方式来获取数据,异步模式或同步模式。请求的类型是由这个XMLHttpRequest对象的open()方法的第三个参数async的值决定的。如果该参数的值为false,则该XMLHttpRequest请求以同步模式进行,否则该过程将以异步模式完成。
两种通信模式:同步和异步请求:
同步请求
通过XMLHttpRequest生成的请求可以有两种方式来获取数据,异步模式或同步模式。请求的类型是由这个XMLHttpRequest对象的open()方法的第三个参数async的值决定的。如果该参数的值为false,则该XMLHttpRequest请求以同步模式进行,否则该过程将以异步模式完成。
两种通信模式:同步和异步请求:
同步请求
展开全部
永远不可能是本地工作目录文件,必须让服务器给予权限才行,比如在本地搭建Apache服务器,就算是 localhost/xxx/xxx 都行,因为服务器已经给远程访问配置了权限。。。 如果能够调用本地文件的话,那么目前所有浏览器的 JS 不都可以轻轻松松扫描你的硬盘了? 这是浏览器的权限限制,就算是Flash需要调用本地文件的时候,也需要经过用户的允许,你可以去查阅各种脚本语言的本地数据权限,目前Flash和HTML5都有一部分权限,但仅限于浏览器的安全沙箱内操作~
追问
不是读取本地文件, 文件是放在服务器上的,没有跨域问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询