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上的话,就需要把视频加载完才能读取
展开
 我来答
DoramiHe
2017-11-28 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25334 获赞数:59536
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
XMLHttpRequest 让发送一个HTTP请求变得非常容易。你只需要简单的创建一个请求对象实例,打开一个URL,然后发送这个请求。当传输完毕后,结果的HTTP状态以及返回的响应内容也可以从请求对象中获取。
通过XMLHttpRequest生成的请求可以有两种方式来获取数据,异步模式或同步模式。请求的类型是由这个XMLHttpRequest对象的open()方法的第三个参数async的值决定的。如果该参数的值为false,则该XMLHttpRequest请求以同步模式进行,否则该过程将以异步模式完成。
两种通信模式:同步和异步请求:
同步请求
藤原子大雄
2017-11-28 · TA获得超过7195个赞
知道大有可为答主
回答量:6977
采纳率:82%
帮助的人:1732万
展开全部
永远不可能是本地工作目录文件,必须让服务器给予权限才行,比如在本地搭建Apache服务器,就算是 localhost/xxx/xxx 都行,因为服务器已经给远程访问配置了权限。。。 如果能够调用本地文件的话,那么目前所有浏览器的 JS 不都可以轻轻松松扫描你的硬盘了? 这是浏览器的权限限制,就算是Flash需要调用本地文件的时候,也需要经过用户的允许,你可以去查阅各种脚本语言的本地数据权限,目前Flash和HTML5都有一部分权限,但仅限于浏览器的安全沙箱内操作~
追问
不是读取本地文件, 文件是放在服务器上的,没有跨域问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式