簡體   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