繁体   English   中英

使用jQuery读取JSON数据时遇到麻烦

[英]trouble reading json data using jquery

我敢肯定这是一个愚蠢的疏忽,但我不知道如何使jQuery的'getJSON'函数正常工作。 为了进行测试,我将目录设置如下:

test.html
js/
  jquery-1.6.2.min.js
  test.js
ajax/
  test.json

test.html<head>

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/test.js"></script>

作为对getJSON函数的首次测试, test.js内容如下:

$(document).ready(function() {
    $.getJSON('ajax/test.json', function(data) {
        alert('Success!');
    });
}

但是,加载“ test.html”时,什么也不会发生。 我感觉到'ajax / test.json'路径规范是问题所在,但我不确定为什么。

编辑:我对花括号不好,实际上在我只是误粘贴的代码中还不错。 我打开了Chrome开发者工具,现在看到一个XMLHttpRequest错误,并带有以下解释:“ Access-Control-Allow-Origin不允许使用null原始值”。

编辑2:嗯,这很烦人。看起来好像是Chrome问题 在Safari上运作良好。 作为解决方法,您可以在基本目录中启动python -m SimpleHTTPServer并访问位于localhost:8000 / test.html的页面,在这种情况下,Chrome可以正常运行。

您需要正确关闭getJSON回调函数和ready函数的括号:

$(document).ready(function() {
    $.getJSON('ajax/test.json', function(data) {
        alert('Success!');
    });
});

您的代码:

$.getJSON('ajax/test.json', function(data) {
   alert('Success!');
); // you missed a curly brace here. that may be a problem

正确的代码:

$.getJSON('ajax/test.json', function(data) {
        alert('Success!');
});

听起来您正在尝试直接从文件系统运行此文件。 通过HTTP(通过安装Web服务器)使页面可用,并使用它。

本地网页与HTTP网页有很多不同的安全规则。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM