Javascript 来自本地文件的jQuery ajax请求(不允许访问源代码';null')

Javascript 来自本地文件的jQuery ajax请求(不允许访问源代码';null'),javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我正在从本地文件中调用jQuery ajax,该文件从Web服务器检索JSON数据: $.ajax({ type: 'GET', url: 'http://mywebsite.com/data.json', dataType: 'json', success: showData }); 我在chrome上遇到以下错误: XMLHttpRequest cannot load http://mywebsite.com/data.json. No 'Access-C

我正在从本地文件中调用jQuery ajax,该文件从Web服务器检索JSON数据:

$.ajax({
    type: 'GET',
    url: 'http://mywebsite.com/data.json',
    dataType: 'json',
    success: showData
});
我在chrome上遇到以下错误:

XMLHttpRequest cannot load http://mywebsite.com/data.json. No 
'Access-Control-Allow-Origin' header is present on the requested 
resource. Origin 'null' is therefore not allowed access.
我已经阅读了许多其他答案,这些答案似乎得出结论:使用chrome无法从本地文件发出ajax请求,因此解决方案如下:

  • 在服务器上托管发出请求的文件
  • 使用“--允许从文件访问文件”标志运行chrome
但这两种选择都不适合我

但是,当我在另一个站点(myjson.com)上托管JSON数据时,ajax请求中的行

url: 'https://api.myjson.com/bins/myfile'
文件加载完美,数据显示正确

为什么ajax请求允许发送到“myjson.com”而不允许发送到“mywebsite.com”

编辑:

我有电话

Header set Access-Control-Allow-Origin "*"

在我的apache2.conf文件中,您需要做的是在文档根目录中创建一个
.htaccess
文件,并向其中添加以下行:

<FilesMatch "\.(json)$">
    Header set Access-Control-Allow-Origin "*"
</FilesMatch>

标题集访问控制允许原点“*”

上面几行代码的作用是,它们允许在.json文件上为所有域共享跨源资源,从而消除了错误。

我在服务器上的apache2.conf文件中已经有了这一行代码。我在.htaccess中也需要它吗?是否启用了Apache mod_headers模块??