繁体   English   中英

$ .getJSON jQuery解析为HTML

[英]$.getJSON jquery parsing to HTML

我在这里看到了非常基本的JSON摘录。

[
  { first: "bob", last: "jones", },
  { first: "josh", last: "smith", }
]

我正在尝试使用$.getJSON将其解析为HTML。

我以前从未使用过这个jQuery函数,并且遇到了问题。 我的猜测是我在信息div中缺少了一些内容。

在此示例中,我目前有JSON URL,但我的实时代码具有实际URL。

感谢您的指导,这是我的代码:

Java脚本

$.getJSON('JSON URL', 'limit=5', processNames);

function processNames(data) {
  var infoHTML='';

  $.each(data, function(name) {
    infoHTML += 'First: ' + name.first;
    infoHTML += 'Last: ' + name.last;
  });

  $('#info').html(infoHTML);
}

的HTML

<div id="info"></div>

您的JSON无效。 您缺少字段名称周围的引号。 尝试这样的事情:

[
    { "first": "Bob", "last": "Jones" },
    { "first": "Josh", "last": "Smith" }
]

在JSON中,键必须用双引号引起来(字符串也必须用双引号引起来)。 不允许使用单引号,并且必须使用引号。

使用JSON时,必须确保它是有效的。

很容易错过逗号,引号或不匹配的括号。 为此,我建议使用JSON 验证程序

在检查您的问题中的JSON对象时,我发现它无效是有两个原因:

  1. 有效的JSON对象必须始终使用[“]包装属性名称
  2. 在第二个值之后有一个逗号[,],而应使用大括号。

从服务器获取答案时,我建议您检查一下,看看这是否是您期望的答案。 例如,在$ .each(data,function(name)之前,您可以执行以下操作

alert(JSON.stringify(data,));

这将向您显示从服务器接收的字符串。

通常我建议使用$ .ajax而不是$ .getJSON,因为您可以更好地控制服务器的响应,可以决定是否要对其进行缓存,异步调用等。

您可以在此处看到j​​Query Ajax API

希望我的回答对您有所帮助。

暂无
暂无

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

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