我真的很感激一些建议,我是第一次尝试从开放API中检索信息。
API详情在这里,
https://data.police.uk/docs/method/neighbourhood-locate/
我想检索'force'和'邻域'值并将它们保存到变量中,我想将它们保存为变量,因为我随后调用googlemaps来显示KML地图。我设法在我的代码的其他部分上做了很多,例如对用户输入的地址进行地理编码并检索Long / Lat,但我现在正在努力将long / lat发送到外部API并保存响应。
我已经将long / lat硬编码到这个建议请求的下面的URL中,我想我正在从API获得响应但是没有将值捕获到我的变量中。调试器显示以下响应,{“force”:“metropolitan”,“neighborhood”:“00BK17N”},下面是我的代码,
var ForceId; //returned from the API
var Neighbourhood; //returned from the API
accessURL = "https://data.police.uk/api/locate-neighbourhood?q=51.500617,-0.124629"
//Use the zip code and return all market ids in area.
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: accessURL,
dataType: 'jsonp',
success: function (data) {
ForceId.push(val.force);
Neighbourhood.push(val.Neighbourhood)
console.log(ForceId);
console.log(Neighbourhood);
}})
答案 0 :(得分:0)
我犯了一些错误,在看到响应作为语法错误返回后,我调整了一些设置,我将contenttype删除为'application / JSON',并且可以在控制台日志中看到响应以包含所需的参数。我不确定这样做的含义,或者它是不是很糟糕,因为我对此非常陌生,这是我第一次尝试使用API。所以其他人可能会建议更好。
function GetPolice(){
$.ajax({
type: "GET",
// contentType: "application/json; charset=utf-8",
url: accessURL,
dataType: 'json',
success: function(data) {
ForceId = data.force;
Neighbourhood = data.neighbourhood;
},
})
}
如果你的新手,那么我的建议是修补'成功,错误,完成'以查看返回到consolelog的响应。从外部API看看你的“数据类型”应该是什么。同样,我不是最适合提供建议,但希望其他新人认为这有帮助。
我现在需要在上面做一个回调响应,因为它在收到响应之前完成了函数,我希望在其他地方使用另一个函数的响应,但那是一个不同的挑战:)