Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中使用.JSON_Javascript_Jquery_Json_Getjson - Fatal编程技术网

在JavaScript中使用.JSON

在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://

对于我当前的项目,我想用JavaScript读取JSON文件的值。因为我对他们俩都不熟悉,我有点迷路了。使用下面的代码,我在JavaScript控制台中遇到以下错误:

无法加载XMLHttpRequestfile:///Users/Fabio/Desktop/SkriptET/files.json. 收到无效的响应。因此,不允许访问源“null”

但文件保存在那里

index.html

<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);
});