Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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
使用jquery访问json文件,相对路径错误_Jquery_Json_Relative Path - Fatal编程技术网

使用jquery访问json文件,相对路径错误

使用jquery访问json文件,相对路径错误,jquery,json,relative-path,Jquery,Json,Relative Path,文件在服务器上。文件结构如下所示: ../index.html ../js/data.json ../js/insert.js 我需要访问这个json文件。我在insert.js中尝试过这个 $.get('data.json', function(data) { console.log(data); }); 我得到了 XMLHttpRequest无法加载。。。。不 “Access Control Allow Origin”标头出现在请求的服务器上 资源。起源。。。因此不允许访问 当我

文件在服务器上。文件结构如下所示:

../index.html
../js/data.json
../js/insert.js
我需要访问这个json文件。我在insert.js中尝试过这个

$.get('data.json', function(data) {
    console.log(data);
});
我得到了

XMLHttpRequest无法加载。。。。不 “Access Control Allow Origin”标头出现在请求的服务器上 资源。起源。。。因此不允许访问


当我使用JSON文件的绝对路径时,它工作得很好。我需要它来处理相对路径。怎么了?

路径错误。应该是这样的:

$.get('/js/data.json', function(data) { console.log(data); });
../index.html
../js/data.json
../js/insert.js
如果文件树是这样的:

$.get('/js/data.json', function(data) { console.log(data); });
../index.html
../js/data.json
../js/insert.js

这条路错了。应该是这样的:

$.get('/js/data.json', function(data) { console.log(data); });
../index.html
../js/data.json
../js/insert.js
如果文件树是这样的:

$.get('/js/data.json', function(data) { console.log(data); });
../index.html
../js/data.json
../js/insert.js

那么您的文件距离基本路径只有一个目录?您的$.get正试图转到域data.json(如www.data.json)并从中提取信息。这就是为什么会出现XSS错误。您需要使用相对路径,例如$.get('/js/data.json')。路径显然是错误的,但这是一个CORS错误,在本例中很奇怪。您正在尝试从
文件://
协议打开此页面吗?或者在不同于服务器的端口上加载页面?所以这应该是这样的:
$.get('/js/data.json',function(data){console.log(data);})?这仍然不起作用,同样的错误。该页面部署在web服务器上,我正在通过Chrome打开它。很抱歉,我不知道您在问什么。在浏览器开发工具网络中,查看实际使用的url是什么,以及它是否与预期的不同。因此,您的文件距离基本路径只有1个目录?您的$.get正在尝试转到域data.json(如www.data.json)并从中提取信息。这就是为什么会出现XSS错误。您需要使用相对路径,例如$.get('/js/data.json')。路径显然是错误的,但这是一个CORS错误,在本例中很奇怪。您正在尝试从
文件://
协议打开此页面吗?或者在不同于服务器的端口上加载页面?所以这应该是这样的:
$.get('/js/data.json',function(data){console.log(data);})?这仍然不起作用,同样的错误。该页面部署在web服务器上,我正在通过Chrome打开它。恐怕我不知道你在问什么。在浏览器开发工具网络中,查看实际使用的url是什么,以及它是否与预期的不同。