Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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读取Google Chrome中的JSON文件错误_Jquery_Json_Google Chrome - Fatal编程技术网

使用jQuery读取Google Chrome中的JSON文件错误

使用jQuery读取Google Chrome中的JSON文件错误,jquery,json,google-chrome,Jquery,Json,Google Chrome,我这里有一个JSON文件: 我正在尝试使用Javascript/jQuery在我的网站上阅读: $.getJSON("http://dalexl.webs.com/products.json") (是的,我知道它还没有完成,我目前只是想把它加载,我还没有读过) 我试着在我自己的站点目录中使用Dreamweaver(我在本地硬盘上使用Dreamweaver) 问题是,在Chrome中(我不确定其他浏览器),控制台会给我以下错误: XMLHttpRequest无法加载。访问控制允许原点不允许原

我这里有一个JSON文件:

我正在尝试使用Javascript/jQuery在我的网站上阅读:

$.getJSON("http://dalexl.webs.com/products.json")
(是的,我知道它还没有完成,我目前只是想把它加载,我还没有读过)

我试着在我自己的站点目录中使用Dreamweaver(我在本地硬盘上使用Dreamweaver)


问题是,在Chrome中(我不确定其他浏览器),控制台会给我以下错误:

XMLHttpRequest无法加载。访问控制允许原点不允许原点为空。

或:

XMLHttpRequest无法加载json/products.json。访问控制允许原点不允许原点为空。


起初,在线阅读关于这个问题的信息表明,Chrome认为某个网站试图读取我电脑上的文件。但是,将文件联机后,问题仍然存在

有人能解决这个问题吗?如果不应该支持它,为什么jQuery有一个本地方法来支持它


谢谢

您正在尝试打开跨域?见:


您正在尝试打开跨域?见:

不返回有效的json。我喜欢使用它进行测试(当你按下“查看器”按钮时,你会得到一个错误)

您缺少三个逗号:

在“url”之后“#1”

在“url”之后“#2”

Before:“Cakes”:{

不返回有效的json。我喜欢使用它进行测试(当您按下“查看器”按钮时,会出现错误)

您缺少三个逗号:

在“url”之后“#1”

在“url”之后“#2”


在“Cakes”之前:{

除非脚本执行该行的页面

$.getJSON("http://dalexl.webs.com/products.json")
也在
http://dalex1.webs.com
,您正在运行与的冲突,即通过
XMLHttpRequest
(例如“ajax”)加载资源的限制。有关详细信息,请参阅链接

您绕过SOP的选项有:

  • ,这需要修改正在返回的数据,但方法很简单
  • ,这是服务器和浏览器都需要支持的相对较新的标准。(Firefox、Opera和Chrome的最新版本都支持
    XMLHttpRequest
    ;IE8及更高版本支持它,但仅通过
    XDomainRequest
    对象而不是标准
    XMLHttpRequest
  • 在非常棘手的情况下,您可以考虑使用

另外,请注意,您返回的JSON无效(属性之间缺少逗号),请参阅和其他验证工具。现在您已经修复了它。

除非脚本在其中执行该行的页面

$.getJSON("http://dalexl.webs.com/products.json")
也在
http://dalex1.webs.com
,您正在运行与的冲突,即通过
XMLHttpRequest
(例如“ajax”)加载资源的限制。有关详细信息,请参阅链接

您绕过SOP的选项有:

  • ,这需要修改正在返回的数据,但方法很简单
  • ,这是服务器和浏览器都需要支持的相对较新的标准。(Firefox、Opera和Chrome的最新版本都支持
    XMLHttpRequest
    ;IE8及更高版本支持它,但仅通过
    XDomainRequest
    对象而不是标准
    XMLHttpRequest
  • 在非常棘手的情况下,您可以考虑使用

另外,请注意,您返回的JSON无效(属性之间缺少逗号),请参阅和其他验证工具。现在您已经修复了它。

从我自己的文件系统加载时,它也不起作用。@DadeLamkins:这是因为本地文件系统是源文件系统(源文件“null”)。有些浏览器允许origin null从任何来源检索任何内容,而其他浏览器则不允许。许多浏览器根本不允许ajax调用中的
文件://
协议。但从我自己的文件系统加载时,它也不起作用。@DadeLamkins:这是因为本地文件系统是一个来源(origin“null”)。有些浏览器允许origin null从任何来源检索任何内容,而其他浏览器则不允许。许多浏览器根本不允许ajax调用中的
文件://
协议。因此,如果我在Web帐户上托管整个网站,它将起作用?-编辑-如果我在我的计算机上托管自己的小型http服务器,会起作用吗?@DadeLamkins:只要请求没有跨越来源,是的,这将起作用。因此,如果发出调用的页面处于打开状态,则
http://dalex1.webs.com
并且请求的数据也在
http://dalex1.webs.com
,这将起作用。如果您运行本地web服务器,并且执行请求的页面位于
http://localhost
和所请求的数据d在
http://localhost
,这样就行了。对于
http://localhost
http://dalex1.webs.com
或反之亦然。请阅读SOP链接了解详细信息。非常感谢!我已决定运行本地服务器,因此不必每隔2秒重新上传一次:)@DadeLamkins:很高兴这有帮助!:-)那么,如果我在Web帐户上托管整个网站,它会工作吗?-编辑-如果我在我的计算机上托管我自己的小型http服务器,那会工作吗?@DadeLamkins:只要请求不跨越来源,是的,那会工作。因此,如果发出调用的页面是打开的
http://dalex1.webs.com
,请求的数据为也在
http://dalex1.webs.com
,这将起作用。如果您运行本地web服务器,并且执行请求的页面位于
http://localhost
并且请求的数据位于
http://localhost
,这样就行了。对于
http://localhost
http://dalex1.webs.com
或反之亦然。详细信息请阅读SOP链接。非常感谢!我已决定运行本地服务器,因此不必每隔2秒重新上传一次:)@DadeLamkins:很高兴h