javascript - 读取远程文件的部分内容

标签 javascript ajax

有一个远程文件,我们想要使用 Ajax 读取其中的一部分。 我们如何只使用 JS 而不使用 PHP 这样的服务器端技术来做到这一点?

我想我需要使用 HTTP Range header ,但是如何使用 Ajax 设置它?是否可以在 Ajax 中设置 HTTP header ?

最佳答案

您可以通过 setRequestHeader 设置 XML 请求的 header ,例如如果 xhr 是 XMLHttpRequest 实例:

xhr.setRequestHeader('HeaderName', 'HeaderValue');

我刚刚测试了它,这给了我所请求文件的前 56 个字符:

var xhr = new XMLHttpRequest();
xhr.open("get", "thefile");
xhr.setRequestHeader("Range", "bytes=0-100");
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        $("<p>").text("status = " + xhr.status + ", length = " + xhr.responseText.length + ", text = " + xhr.responseText).appendTo(document.body);
    }
};
xhr.send();

请注意,状态返回为 206(部分内容),而不是 200。

为什么是 56 个字符?在我的测试中可能是字节与字符的问题。

关于javascript - 读取远程文件的部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34544230/

相关文章:

php - 用于创建具有右键单击功能的网格的优秀免费 AJAX PHP 解决方案是什么?

javascript - 使用 React 从 FileStream 返回下载文件

javascript - 在 Ajax 回调中访问 `this`,全部在对象内

javascript - 如何在三个js中使用verticesNeedUpdate来更新3D立方体的顶点?

Javascript onmouseover 和 onmouseout 无法禁用按钮

jquery - 使用Google Analytics(分析)跟踪AJAX请求

javascript - 如何调试时序问题 - 顺序 AJAX 请求、异步链等

php - 如何使用 jquery 的 $.ajax 函数以及 json 和 php 上传文件

javascript - 统计一个XML文件中有多少父节点有相同的Tag's 'value'

javascript - 为什么 jQuery 无法将鼠标悬停处理程序附加到 Flash 对象?