我正在开发一个简单的网络应用。这将让客户输入牌照,然后连接到基于Socrata的OpenData API,其中包含我所在国家/地区所有已注册汽车的记录。
使用车牌,必须找到正确的车,并显示具体信息。所显示的信息类型会有所不同,因为我打算在几个不同的网页上使用这个应用程序,但作为一个起点,我想展示汽车的品牌和型号。这些在数组中列为
"merk" : "KIA"
"handelsbenaming" : "PICANTO"
Merk' Merk'是品牌/制造商和' 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。我稍后会输入一个输入字段来获取车牌号码,但为了测试目的,我只是定义了变量&#34; kenteken&#34;成为一个真正的车牌。同样出于测试目的,我想在警告框中返回响应。
测试时,Firefox中的控制台没有指出任何错误。我还可以看到GET请求,并返回一个JSON数组。但是,我无法让数组写入文档或警告框。目前,警报显示:
Data: [object Object] Status: success
然而,据我所知,&#39;数据&#39;应该显示GET请求返回的整个JSON数组
我使用Google,多次阅读API附带的文档,我已经阅读了SO上的更多帖子,但我还没有记住,但我没有得到它。
答案 0 :(得分:1)
当您获得数据时,它会以字符串形式出现。
使用JSON.Parse(数据)将其转回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);});
});
答案 1 :(得分:1)
响应不是单个对象,它是一个对象数组,因此您需要对它们编制索引以访问属性。我在下面展示如何访问第一个,但在你的真实代码中你可能会循环。
data