【问题标题】:AJAX File Check - Long delay in checkingAJAX 文件检查 - 长时间延迟检查
【发布时间】:2013-03-22 10:15:55
【问题描述】:

我正在尝试根据单击的项目检查视频是否存在,然后加载它。如果视频大于 10 mb,则需要很长时间。我目前已经完成了一项工作,我检查旁边有一个同名的文本文件,这需要几秒钟的时间来加载,但对于我拥有的每个视频都拥有所有这些文本文件并不理想。我正在根据点击的内容检查视频是否存在,并使用该变量来定义视频名称。

有没有办法让我在没有长时间延迟的情况下检查视频网址?

var my_video

$.ajax({
    async: false,
    url: "./videos/" + my_video + ".txt",
    type: "HEAD",
    error: function () {
            // Don't load video
    },
    success: function () {
            // Load video
            $('.video').show().attr("src","./videos/" + my_video + ".webm");
    }
});

【问题讨论】:

  • 创建一个服务器端脚本,使用类似 PHP 的 file_exists 来检查文件是否存在,然后使用您的 ajax 来查询该脚本。
  • 我希望这一切都在本地运行,它不是基于 Web 的,而且我无法运行像 Apache 这样的本地服务器。理想情况下,我想使用 "url: "./videos/" + my_video + ".webm",
  • 只需创建一个服务器端脚本,在其中将文件名作为数据传递,然后使用服务器端检查该文件的文件系统等。请记住正确验证输入(安全和所有)。
  • 我想我的问题是为什么 Ajax 需要这么长时间,有没有办法控制它只做奇偶校验?
  • 您是否考虑过使用 HTML5 提议的文件系统 API 而不是 AJAX? html5rocks.com/en/tutorials/file/filesystem

标签: jquery ajax file load size


【解决方案1】:

经过大量挖掘找到了答案。我基本上可以通过使用“headers”设置来加载文件的第一部分,并且只加载前几个字节。

$.ajax({type: "GET",
        url: url,
        headers : { "Range" : 'bytes=0-16' },
        ....

【讨论】:

    猜你喜欢
    • 2010-11-03
    • 1970-01-01
    • 2017-03-25
    • 2020-03-09
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多