从开放的外部API-visual studio-AJAX检索值

Retrieve value from open external API - visual studio - AJAX

本文关键字:studio-AJAX 检索 API-visual 外部      更新时间:2023-11-06

我真的很感谢一些建议,我第一次尝试从一个开放的API中检索信息。

API详细信息在这里,

https://data.police.uk/docs/method/neighbourhood-locate/

我想检索"force"answers"neighborhood"值并将它们保存到变量中,我想将它们保存为变量,因为我正在调用谷歌地图来显示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);
            }})

我犯了一些错误,在看到响应返回为语法错误后,我调整了一些设置,删除了"application/JSON"的contenttype,可以在控制台中看到包含所需参数的响应。我不确定这样做的影响,也不确定这是否是一种糟糕的做法,因为我在这方面非常新,这是我第一次尝试使用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。再说一次,我不是提供建议的最佳人选,但希望其他新人能发现这一点有所帮助。

我现在需要使上面的回调响应,因为它在收到响应之前完成了函数,我希望在其他地方的另一个函数中使用该响应,但这是一个不同的挑战:)