当尝试使用本地文件中的XMLHttpRequest执行HTTP请求时,它基本上由于Access-Control-Allow-Origin违规而失败.
但是,我自己正在使用本地网页,所以我想知道是否有任何方法可以让Google Chrome允许这些请求,这些请求是从本地文件到Internet上的URL.
例如,$.get('http://www.google.com/')在本地文件中执行时失败,但我自己编写了脚本并且我自己使用它,因此如果我可以抑制它并加载URL,那将非常有用.
那么,我如何允许Google Chrome使用本地文件中的XMLHttpRequest加载网址?
我尝试使用导入本地.json文件d3.json().
该文件filename.json存储在与我的html文件相同的文件夹中.
然而(json)参数是空的.
d3.json("filename.json", function(json) {
root = json;
root.x0 = h / 2;
root.y0 = 0;});
. . .
}
Run Code Online (Sandbox Code Playgroud)
我的代码与此d3.js示例中的代码基本相同
嗨,我试图使用JQuery加载本地JSON文件来显示数据,但我得到一些奇怪的错误.我可以知道如何解决这个问题.
<html>
<head>
<script type="text/javascript" language="javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {
$.getJSON( "priorities.json" , function( result ){
alert(result.start.count);
});
});
</script></head>
</html>
Run Code Online (Sandbox Code Playgroud)
我只是提醒JSON数据的数量.我的JSON文件位于此html文件所在的目录中,JSON字符串格式如下所示.
{
"start": {
"count": "5",
"title": "start",
"priorities": [
{
"txt": "Work"
},
{
"txt": "Time Sense"
},
{
"txt": "Dicipline"
},
{
"txt": "Confidence"
},
{
"txt": "CrossFunctional"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
JSON文件名的priority.json和错误是
未定义未捕获的Referenceerror优先级
我很确定答案是否定的,因此google gear,adobe AIR等.
如果我是对的,那么http://tiddlywiki.com如何运作?它是持久的,用javascript编写.它也只是一个没有外部(服务器端)依赖项的HTML文件.WTF?在哪里/如何存储其状态?
我有一些模板文件,每个文件包含一些变量字符串,我想用Electron(http://electron.atom.io/)构建一个非常简单的输入表单,我想将组合输出文件保存在用户的电脑.
我可以使用任何模块让Electron在本地保存文件吗?
我是angularjs的新手,我一整天都在网上搜索,只是为了找到一个从本地json文件获取数据的解决方案,而不必使用localhost作为我的webapp.不幸的是,我还没有找到任何.我尝试使用$ http.get但是我得到Cross Origin*错误.
有没有其他方法可以从本地json文件中获取数据,而无需在本地托管我的webapp?
angularjs是否有任何其他函数从本地json文件获取数据而不必使用其$ http.get?
我试图在仅使用angular的html formly-form上点击"Submit"之后将数据写入json文件,但什么也没发生.我知道我可以使用angular读取json文件但不确定创建文件.控制器中的onSubmit():
function onSubmit() {
$scope.save = function() {
$http.post('./temp/sample_data.json', JSON.stringify($scope.model)).then(function(data) {
$scope.msg = 'Data saved';
});
};
};
Run Code Online (Sandbox Code Playgroud)
HTML:
<form name="form" ng-submit="onSubmit()" novalidate>
<formly-form model="model" fields="fields"></formly-form><br/>
<button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
未创建sample_data.json,如果我创建一个空文件,它也不会填充数据.$ scope.model defenitly包含数据.如果有人可以提供帮助,我们将非常感激.谢谢,Alon.
我的系统中的以下位置有一个JSON文件
/etc/project/system.json
我正在尝试使用我的系统路径访问此文件,但它无法正常工作.但是,如果我将此文件放在我的应用程序中的src中,它工作正常.
JSON文件路径是"/etc/project/system.json",我的应用程序路径是"/ var/www/DemoProject"
那么如何从我的本地系统访问文件.
我们有一个相当复杂的JS webapp,可以在浏览器中以不同的方式(字符串,arrayBuffer,base64,二进制)加载不同的资源(HTML模板,额外的JS/CSS文件,JSON数据,图像,视频,声音)(只读不写作).现在,我们想对其进行更改,以使所有内容在不同平台上脱机(包括资源)作为Cordova移动应用程序.
问题#1 - 从本地文件系统加载文件
它使XHR对本地file://资源的请求在任何地方都能正常工作,但由于Android正在向Chrome内部过渡,因此Chrome现在是一个显示阻止器.
好的,还剩下2个选项:
遗憾的是, 普通的vanilla File API 总是需要用户交互(比如点击输入框)来获取文件引用加上IE10是禁止的.好的,所以唯一的选择是为PhoneGap 使用自定义的File API插件 - 这给我们带来了下一个问题.
问题#2 - (跨平台?)文件路径在PhoneGap中
我喜欢PhoneGap CLI - 你在终端输入一些命令,它为你管理不同平台的文件和构建.或者是吗?
据我所知,根据PhoneGap你应该把所有东西放在WWW文件夹中 - 但是(一旦你构建应用程序),疯狂的事情是 - 没有简单的方法来读取这些文件(通过File API插件)从PhoneGap放置它们.
您认为fileSystem.root(LocalFileSystem)指向该文件夹,但至少在iOS上,WWW文件夹位于您的应用程序内,但fileSystem.root引用指向外部Documents文件夹(仍需要在Android上测试它,但我猜测它再次有不同的东西).
经过一些修补后,我想出了如何进入WWW文件夹,但它不灵活,hacky,感觉它不应该工作(iOS目前只有):
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){
fileSystem.root.getDirectory("../HelloWorld.app/www", {create: true}, function(entry) {
entry.getFile("test.json", {create: false}, function(fileEntry) {
fileEntry.file(function(file){
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log(evt.target.result);
};
reader.readAsText(file);
}, fail);
}, …Run Code Online (Sandbox Code Playgroud) [编辑]我用D3解决了这个问题,谢天谢地!
所以我有一个看起来像这样的csv文件,我需要将本地csv文件导入到我的客户端javascript:
"L.Name", "F.Name", "Gender", "School Type", "Subjects"
"Doe", "John", "M", "University", "Chem I, statistics, English, Anatomy"
"Tan", "Betty", "F", "High School", "Algebra I, chem I, English 101"
"Han", "Anna", "F", "University", "PHY 3, Calc 2, anatomy I, spanish 101"
"Hawk", "Alan", "M", "University", "English 101, chem I"
Run Code Online (Sandbox Code Playgroud)
我最终需要解析它并输出如下内容:
Chem I: 3 (number of people taking each subject)
Spanish 101: 1
Philosophy 204: 0
Run Code Online (Sandbox Code Playgroud)
但就目前而言,我只是坚持将其导入javascript.
我当前的代码如下所示:
<!DOCTYPE html>
<html>
<body>
<h1>Title!</h1>
<p>Please enter the subject(s) that you …Run Code Online (Sandbox Code Playgroud) javascript ×8
json ×4
jquery ×3
angularjs ×2
html ×2
ajax ×1
android ×1
angular ×1
angular5 ×1
cordova ×1
csv ×1
d3.js ×1
electron ×1
filereader ×1
forms ×1
ios ×1
local-files ×1
npm ×1
persistence ×1
tiddlywiki ×1
typescript ×1