簡體   English   中英

帶有JSON響應的jQuery GET。 選擇特定對象

[英]JQuery GET with JSON response. Select specific objects

我正在開發一個簡單的Web應用程序。 這將使客戶輸入車牌,然后連接到基於Socrata的OpenData API,該API包含我國所有已注冊汽車的記錄。

它必須使用車牌找到正確的汽車,並顯示特定信息。 顯示的信息類型會有所不同,因為我打算在幾個不同的網頁上使用此應用程序,但是作為起點,我想顯示汽車的品牌和型號。 這些在數組中列為

"merk" : "KIA"
"handelsbenaming" : "PICANTO"

其中“默克”是品牌/制造商,“ handelsbenaming”是模型。

我對javascript不太熟悉,並且對JQuery完全陌生,但是我設法做到了這一點:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script>
var kenteken = "1KBB00";

$(document).ready(function(){
    $("button").click(function(){
$.get("https://opendata.rdw.nl/resource/m9d7-ebf2.json",{kenteken: kenteken},function(data, status){
        alert("Data: " + data + " Status: " + status);});
 });
});

</script>
</head>
<body>

<button>Click</button>
</body>

如您所見,通過按下按鈕將觸發JQuery。 稍后,我將在輸入字段中獲取車牌號,但出於測試目的,我僅將變量“ kenteken”定義為真實的車牌。 同樣出於測試目的,我想在警報框中返回響應。

經過測試,Firefox中的控制台不會顯示任何錯誤。 我還可以看到發出了GET請求,並返回了JSON數組。 但是,我無法使數組寫入文檔或警報框。 當前,警報顯示:

Data: [object Object] Status: success

據我所知,“數據”應顯示GET請求返回的整個JSON數組

我使用Google,多次閱讀了API隨附的文檔,閱讀了SO上更多的文章,這遠遠超出了我的預期,但我沒有得到。

當您取回數據時,它以字符串形式出現。

使用JSON.Parse(data)將其轉換回JSON對象,您應該使它看起來正確。 在警報之前放置一個斷點,然后您可以檢查返回的內容和json方法的作用。

$.get("https://opendata.rdw.nl/resource/m9d7-ebf2.json",{kenteken: kenteken},function(data, status){
        debugger;
        var jsonData = JSON.Parse(data);
        alert("Data: " + jsonData + " Status: " + status);});
 });

響應不是單個對象,而是一個對象數組,因此您需要為它們建立索引以訪問屬性。 我在下面顯示了如何訪問第一個,但是在您的真實代碼中您可能會循環。

$.getJSON("https://opendata.rdw.nl/resource/m9d7-ebf2.json",{kenteken: kenteken},function(data, status){
    alert("Merk: " + data[0].merk + " Handelsbenaming: " + data[0]. handelsbenaming + " Status: " + status);});
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM