在JavaScript中使用.JSON
对于我当前的项目,我想用JavaScript读取JSON文件的值。因为我对他们俩都不熟悉,我有点迷路了。使用下面的代码,我在JavaScript控制台中遇到以下错误: 无法加载XMLHttpRequestfile:///Users/Fabio/Desktop/SkriptET/files.json. 收到无效的响应。因此,不允许访问源“null” 但文件保存在那里 index.html在JavaScript中使用.JSON,javascript,jquery,json,getjson,Javascript,Jquery,Json,Getjson,对于我当前的项目,我想用JavaScript读取JSON文件的值。因为我对他们俩都不熟悉,我有点迷路了。使用下面的代码,我在JavaScript控制台中遇到以下错误: 无法加载XMLHttpRequestfile:///Users/Fabio/Desktop/SkriptET/files.json. 收到无效的响应。因此,不允许访问源“null” 但文件保存在那里 index.html <html> <head> <script src="http://
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="javascript.js"></script>
</head>
<body>
</body>
</html>
javascript.js
$.getJSON( "files.json", function( data ) {
alert(data.category.Gleichstromkreise[0].title);
});
您不能在本地计算机上使用AJAX(文件:scheme)。您的页面必须上载到服务器,或者您必须在计算机上安装服务器并访问
http://localhost/
您不能在本地计算机上使用AJAX(文件:方案)。您的页面必须上载到服务器,或者您必须在计算机上安装服务器并访问http://localhost/
问题不在于JSON,而是JSON。当您的页面是从本地文件而不是通过HTTP加载时,这就是源“null”。有些浏览器阻止在originnull和originnull之间进行ajax调用,甚至阻止从同一目录加载文件
如果您通过web服务器运行该文件(您可以在本地安装一个用于开发),则文件将具有相同的来源,并且浏览器将允许您加载JSON文件。问题不在于JSON,而是JSON。当您的页面是从本地文件而不是通过HTTP加载时,这就是源“null”。有些浏览器阻止在originnull和originnull之间进行ajax调用,甚至阻止从同一目录加载文件
如果您通过web服务器运行该文件(您可以在本地安装一个用于开发),则文件将具有相同的来源,并且浏览器将允许您加载JSON文件。使用哪种浏览器?这是因为同源策略,您的浏览器不允许对所述文件进行ajax请求,因为资源是使用文件协议加载的。浏览器使用的是哪种协议的副本?这是因为同源策略,您的浏览器不允许对所述文件进行ajax请求,因为资源是使用文件协议加载的,可能是Wow的副本,6秒XD您的比我的更完整。@NiettheDarkAbsol:LOL显然我需要更快的输入!谢谢你的快速回复。我尝试在我的Web服务器上上载该文件,并相应地更改了url。>无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”。租金错误:>@Fabitosh:对,这也是SOP:如果不使用,就不能使用ajax跨源代码。正如我上面所说的,如果你确保文件和页面是从同一个来源加载的,它会工作得很好。哇,六秒钟XD你的比我的更完整。@NiettheDarkAbsol:LOL显然我需要输入更快的速度!谢谢你的快速回复。我尝试在我的Web服务器上上载该文件,并相应地更改了url。>无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”。租金错误:>@Fabitosh:对,这也是SOP:如果不使用,就不能使用ajax跨源代码。正如我上面所说的,如果您确保文件和页面是从同一来源加载的,那么它就可以正常工作。
$.getJSON( "files.json", function( data ) {
alert(data.category.Gleichstromkreise[0].title);
});