使用jQuery's "load"方法在本地文件上执行
Using jQuery's "load" method on a local file
我试图创建一个网站,其中每几个页面有相同的标题栏-一个相当标准的问题。为了加载标题栏的HTML,我使用jQuery的"load"方法:
$("#title-bar").load("path/to/titlebar-code.html")
然而,很明显,"load"真的真的不喜欢从本地文件系统加载文件。我无法访问远程服务器,所以这是个问题。(我依靠我的大学来托管这个网站,他们还没有设置好服务器。)因此,在我解决这个问题之前,我无法查看或测试该网站。
尝试解决方案:我尝试用Node.js运行本地服务器,使用我在这里找到的代码,欺骗jQuery发出请求。以下是服务器代码:
var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(8080);
和新的jQuery请求:
$("#title-bar").load("http://localhost:8080/path/to/titlebar-code.html")
…它返回错误:
请求的文件中没有'Access-Control-Allow-Origin'标头资源。因此,不允许访问原点'null'。
我有有限的网络经验,我不知道如何进行。有人知道这样加载文件的方法吗?(完全不同的解决方案是受欢迎的;Node和jQuery看起来很有前途)
根据Hanlet下面的评论,我从http://localhost:8080
而不是file://path/to/website
访问了网站。然后我从上面运行load(http://localhost...)
命令。
Jquery ajax仅限于相同的域策略,本地文件或本地主机文件,只要它与脚本的托管域不相同,它将无法工作。
您需要在正在从中加载文件的远程服务器上启用CORS(跨域资源共享)。
相关文章:
- 为什么spyOn"停止函数“”的所有执行;Jasmine(要求澄清Jasmine 2.2间谍文件)
- Node.js服务器问题-已添加“/"在浏览器中查找文件时
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- 在Asp.net的空网站中,如何改变"Web.config”;使内容(.js)文件显示在浏览器中,而不是下载
- "npm运行构建“;模块解析错误”;您可能需要一个适当的加载程序来处理此文件类型&”;
- Chrome、Firefox转换“:"至“-"以及“_"分别显示在文件保存对话框中
- 说明Node.js项目:是否只有一个"服务器文件“;在node.js中
- 如何在ajax中返回文本文件值Asynchronous"Synchronous正在被弃用”;
- 如何在Wordpress文件中添加自定义javascript代码"single.php”;
- 当我运行返回()时"":""Javascript中的语法,只有当我将文件保存为PHP
- MVC 4无法定位“;脚本"文件夹
- "ReferenceError未知插件“;当我尝试使用babel-cli转换目录中的js文件时
- 如何检查“;文件打开"窗口是用javascript打开的
- "不安全的JavaScript尝试访问URL为..的帧"使用本地文件
- "文件“;在mozilla扩展js模块中
- "格式不正确的JSON流”;当从SharePoint 2013 REST API对文件使用moveto或cop
- "模块化”;Javascript文件
- "在文件对话框中取消“;事件
- 正在尝试在IE7中测试HTML文件"$"是javascript部分的未定义错误
- "$(文件);在事件stopPropagation之后不触发$(a) 在“;而不触发新的元素