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 blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

其实 ,禁止跨域是浏览器的安全限制机制,在每个浏览器下都有,如在chrome、Firefox、opera 、360 都是这样的,同样会报告上述错误,但是可以通过设置来绕过这个限制(如果经常 完前端代码 建议在本机装个web容器。。。),常见的方式是  右击chrome快捷方式,选择“属性”,在“快捷方式”下的“目标”中添加" --allow-file-access-from-files"(最前面有个空格),重启chrome即可如下:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files     //注意有空格,关闭浏览器然后重启浏览器即可支持

Jquery的load()一般是加载服务器上的文件(非本地文件),这个概念需要弄清楚。要发布网站后通过http协议进行访问,本地file协议浏览会产生跨域问题。
除非是静态文件html调用load,但是这个也是有的浏览器支持,有的不支持。

原文地址:https://www.cnblogs.com/jing-tian/p/10820839.html

时间: 2024-10-12 09:50:49

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

关于jquery中load()无法加载本地文件的问题

今天开始刚开始学习jQuery的AJAX就遇到一个头疼的问题,按照教程的代码,我编写的代码如下(使用VS Code编辑器): <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>LOAD方法</title> <script src="../jQuery库/jquery-3.2.1.min.js

jquery如何动态加载js文件

jquery如何动态加载js文件:本章节和大家分享一下几种动态加载js文件的方法,希望能够给需要的朋友带来帮助.方法一: $.getscript("test.js"); 方法二: function loadjs(file) { var head = $('head').remove('#loadscript'); $("<scri"+"pt>"+"</scr"+"ipt>").att

worker中加载本地文件报错的解决方案

如果在一个swf的主线程中加载文件时,报安全沙箱的错误, 网上有诸多的解决方案.但是如果在一个worker中加载本地文件报类似如下的错误: *** 安全沙箱冲突 *** SecurityError: Error #2148 不能访问本地资源. 网上给出的方案几乎都不能有效的解决问题, 之所以说几乎, 是因为如果以后读者搜到这篇文章时, 有效的解决方案就在这里. 即在本地架设一个http资源服务器, 加载的时候不要用本地地址作为加载路径,而是使用http 地址作为加载地址即可正确加载.

在chrome 怎么通过ajax请求加载本地文件

在chrome下面用Jquery 的load方法加载本地的html文件时会报错 我百度了一下是因为 谷歌浏览器内核为了安全机制,不允许这样方式访问其他页面,但是可以通过加 --enable-file-cookies --allow-file-access-from-files命令  加命令时 注意与前面的内容要用一空格隔开 然后重启浏览器,如果还是不行就重启电脑 原文地址:https://www.cnblogs.com/Dainney/p/10295691.html

jquery的load加载js页面到指定div中

4<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getSer

jQuery之JSP加载JS文件不起作用的有效解决方法

JSP加载JS文件不起作用的有效解决方法 作者: 字体:[增加 减小] 类型:转载 时间:2014-04-08 jsp导入jquery文件,老是不起作用,原因在于其不能访问/WEB-INF/目录下的文件,下面有个不错的解决方法,大家可以参考下 目录结构:jsp导入jquery文件,老是不起作用,原因在于: 复制代码 代码如下: <script type="text/javascript" src="js/jquery-1.4.2.min.js"><

BulkLoad加载本地文件到HBase表

BulkLoad加载文件到HBase表 1.功能 将本地数据导入到HBase中 2.原理 BulkLoad会将tsv/csv格式的文件编程hfile文件,然后再进行数据的导入,这样可以避免大量数据导入时造成的集群写入压力过大. 1.tsv格式的文件:字段之间以制表符\t分割 2.csv格式的文件:字段之间以逗号,分割 3.作用 减小HBase集群插入数据的压力 提高了Job运行的速度,降低了Job执行时间 4.案例 Step1.配置临时环境变量 $ export HBASE_HOME=/opt/

第 17 章 存储与加载本地文件

请参考教材,全面理解和完成本章节内容... ... 复制工程ch16,将工程目录改名为ch17. 在手机上完全退出你的"陋习手记"App(不是把应用隐藏起来),再重新执行"陋习手记"App,哇!我的之前的手记哪里去了? 几乎所有应用都需要有个地方存储数据.本章,我们将升级CriminalIntent应用,实现保存并加载存储在设备上的JSON文件数据. Android设备上的所有应用都有一个放置在沙盒中的文件目录.将文件保存在沙盒中可阻止其他应用的访问.甚至是其他用户

IOS UIwebView加载本地文件(支持显示图片)

1,本地的html文件一定要放到工程文件的根目录 2,html代码中的图片路径一定要是相对路径 3,下面是用UIWebView调用本地文件的方法 方法一: NSString *filePath = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"html"]; NSString *htmlString = [NSString stringWithContentsOfFile:filePath encoding: