javascript - JQuery JSON 数据不显示

标签 javascript jquery json

我在显示页面中的某些 jason 时遇到问题。

数据在那里,但我认为它可能与这一行有关:

document.write(fbResults.cats[0].title);

这里是完整的 html 源代码:

<!DOCTYPE HTML>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<script>

    $(document).ready(function() {
        $.getJSON('http://mydomain.com/api/get_cats', function(fbResults) {
            document.write(fbResults.cats[0].title);
        });
    });
</script>

</head>
<body>

</body>
</html>

这是它正在读取的数据:

{"cats":[

{"id":"1","title":"mytitle1","colour":"#EE297C"},
{"id":"2","title":"mytitle2","colour":"#EE412F"},
{"id":"3","title":"mytitle3","colour":"#F5821F"},
{"id":"4","title":"mytitle4","colour":"#00AEEF"},
{"id":"5","title":"mytitle5","colour":"#00B495"},
{"id":"6","title":"mytitle6","colour":"#006476"}

]}

页面上没有显示任何内容。

在 firebug 控制台上我收到此错误:

未声明 HTML 文档的字符编码。如果文档包含 US-ASCII 范围之外的字符,则在某些浏览器配置中,该文档将呈现为乱码。页面的字符编码必须在文档或传输协议(protocol)中声明。

那里没有 json 数据的痕迹

我在做什么?

最佳答案

您不应该在页面加载后进行 document.write(这里肯定是这种情况)。

如果要将其写入页面,则需要创建 HTML 并附加它。只需替换 document.write:

$('body').append('<p>'+fbResults.cats[0].title+'</p>');
<小时/>

更新:

您的示例进行了完全限定的 URL 调用。该服务器与您运行页面的服务器完全相同吗?如果不是,XHR 只会处理该请求(有时不会告诉您)。如果需要跨域,则需要使用 JSONp。如果您在从网络提取数据的同时尝试在本地运行此程序,它就会崩溃。

关于javascript - JQuery JSON 数据不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11891228/

相关文章:

javascript - 如何使用 Koa 解析 multipart/form-data 主体?

javascript - d3.js foreach 在 svg 中包含的所有路径上循环

javascript - 从这个 jQuery 片段创建一个 Javascript 函数?

Python3 : JSON POST Request WITHOUT requests library

jquery - Json JQuery 冲突

javascript - 在鼠标滚轮上平滑滚动?

javascript - 已更改类的背景颜色属性不起作用

javascript - 如何使用 jQuery 在单击时禁用/启用输入字段

jQuery:在链接上触发()

javascript - 如何在 native react 中获取 json 数据中的数组值?