AJAX-XMLHttpRequest和本地文件

网页中可以使用相对URL的能力通常意味着我们能使用本地文件系统来开发和测试HTML,并避免对Web服务器进行不必要的部署。

然而当使用XMLHttpRequest进行Ajax编程时,这通常是不行的。

XMLHttpRequest用于同HTTP和HTTPS协议一起工作。理论上,它能够同FTP这样的其他协议一起工作,但比如请求方法和响应状态码等部分API是HTTP特有的。如果从本地文件中加载网页,那么该网页中的脚本将无法通过相对URL使用XMLHttpRequest,因为这些URL将相对于file://URL而不是http://URL。而同源策略通常会阻止使用绝对http://URL。结果是当使用XMLHttpRequest时,为了测试它们通常必须把文件上传到Web服务器或者运行一个本地服务器。

时间: 2024-10-23 09:32:12

AJAX-XMLHttpRequest和本地文件的相关文章

ajax在谷歌浏览器本地文件不能

用ajax加载一个本地的html文件,结果别的浏览器都可以显示,唯独谷歌浏览器不行,错误提示如下:Cross origin requests are only supported for protocol schemes: http, data, chrome-extension, https, chrome-extension-resource.我理解好像是这个得在服务器端才能load,本地的解决不了.我是mac,打开终端,取得权限,复制下面代码回车,会新打开一个谷歌浏览器,与原来安装的并不冲

让Chrome支持Ajax/$http方式读取本地文件

在开发中经常写些小demo调试一下插件什么的 数据源又经常手动构造分离为一个单独的文件.用ajax或$http去访问时总是拒绝访问.这个时候可以给Chrome的快捷图标加启动参数,让浏览器允许js访问本地文件.在快捷图标右键属性=>目标位置后附加即可: --allow-file-access-from-files 代码里配置好路径即可正常读取,例如: app.controller('FileController',function($scope,$http){ $scope.obj={}; $h

Ajax请求本地文件

当你访问到这个博客的时候,可能要让你失望了,这篇博客不是介绍怎样实现Ajax请求本地文件,而是劝兄弟姐妹们放弃吧. 想想别的办法,如利用C等 也许在很多年前,Ajax请求本地文件可以实现,例如IE的Active插件会让你实现很多你可能想到的操作本地文件的需求,但是今天,不可以了. 在W3C官网上,Ajax请求明确提出AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加

头疼:为什么chrome不能访问本地文件(带--disable-web-security --allow-file-access-from-files )

如题,寻求帮助! chrome 带参数启动 --disable-web-security  --allow-file-access-from-files 照理应该可以加载本地文件,找遍google和英文网站,还是没解决问题. chrome控制台不报错,但是请求状态 canceled. AJAX用jquery库也一样. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

MVC中使用Ajax和HTML5实现文件上传功能

引言 在实际编程中,经常遇到实现文件上传并显示上传进度的功能,基于此目的,本文就为大家介绍不使用flash 或任何上传文件的插件来实现带有进度显示的文件上传功能. 基本功能:实现带有进度条的文件上传功能 高级功能:通过拖拽文件的操作实现多个文件上传功能 背景 HTML5提供了一种标准的访问本地文件的方法——File API规格说明,通过调用File API 能够访问文件信息,也可以利用客户端来验证上传文件的类型和大小是否规范. 该规格说明包含以下几个接口来使用文件: File接口:具有文件的“读

MVC5:使用Ajax和HTML5实现文件上传功能

引言 在实际编程中,经常遇到实现文件上传并显示上传进度的功能,基于此目的,本文就为大家介绍不使用flash 或任何上传文件的插件来实现带有进度显示的文件上传功能. 基本功能:实现带有进度条的文件上传功能 高级功能:通过拖拽文件的操作实现多个文件上传功能 背景 HTML5提供了一种标准的访问本地文件的方法--File API规格说明,通过调用File API 能够访问文件信息,也可以利用客户端来验证上传文件的类型和大小是否规范. 该规格说明包含以下几个接口来使用文件: File接口:具有文件的"读

前端本地文件操作与上传

前端无法像原生APP一样直接操作本地文件,否则的话打开个网页就能把用户电脑上的文件偷光了,所以需要通过用户触发,用户可通过以下三种方式操作触发: 通过input type="file" 选择本地文件 通过拖拽的方式把文件拖过来 在编辑框里面复制粘贴 第一种是最常用的手段,通常还会自定义一个按钮,然后盖在它上面,因为type="file"的input不好改变样式.如下代码写一个选择控件,并放在form里面: <form> <input type=&q

QML 读取本地文件内容

QML 对本地文件的读写 QML 里似乎没有提供直接访问本地文件的模块,但是我们能够自己扩展 QML,给它加上访问本地文件的能力. Qt 官方文档对 QML 是这样介绍的: It defines and implements the language and engine infrastructure, and provides an API to enable application developers to extend the QML language with custom types

Jquery的load加载本地文件出现跨域错误的解决方案

如果用原生的AJAX是加载本地文件就不会出现错误.当然,这个jquery的load放在服务器上通过http加载还是支持的.也有例外比如在firefox和ie浏览器使用$.ajax加载本地html或txt文件时,不会报错. 当其他浏览器控制台弹出下面报错,表明这个不支持跨域浏览本地文件: Access to XMLHttpRequest at 'file:///F:/%E4%BB%A3%E7%A0%81/Jquery/a.txt' from origin 'null' has been block