weixin_33713707 2018-05-21 10:58 采纳率: 0%
浏览 23

Postcodes.io批量查找

I am trying to use the following API https://postcodes.io/ and perform a bulk lookup using AJAX.

I can use the syntax provided in the documents to do a single postcode lookup like so:

$.ajax({
        type: "POST",
        url: 'https://api.postcodes.io/postcodes/BS16AA',
        success: function (response) {
            console.log(response);
        },
        error: function (xhr, ajaxOptions, thrownError) {
            var msg = '';
            if (xhr.status === 0) {
                msg = 'Not connect.
 Verify Network.';
            } else if (xhr.status == 404) {
                msg = 'Requested page not found. [404]';
            } else if (xhr.status == 500) {
                msg = 'Internal Server Error [500].';
            } else if (thrownError === 'parsererror') {
                msg = 'Requested JSON parse failed.';
            } else if (thrownError === 'timeout') {
                msg = 'Time out error.';
            } else if (thrownError === 'abort') {
                msg = 'Ajax request aborted.';
            } else {
                msg = 'Uncaught Error.
' + xhr.responseText;
            }
        }
    });

However the example for "bulk lookups" is much less helpful (it looks like it wants an object with an array under a property called "postcodes: [myArrayHere]") I haven't managed to find a working example or create one myself. Using the example code above and the syntax for the bulk lookup i'd like to perform only a few ajax calls to lookup around 200 postcodes (the site says the limit is 100 at a time so I can break them in to several arrays). The time it takes to do a lookup for 200 postcodes in a loop is not really feasible for my project.

  • 写回答

1条回答 默认 最新

  • weixin_33682790 2018-05-23 12:10
    关注

    You need to use it like below

    $.ajax({
            type: "POST",
            url: 'https://api.postcodes.io/postcodes/',
            data: { postcodes: ["code1", "code2"] }
            success: function (response) {
                console.log(response);
            },
            error: function (xhr, ajaxOptions, thrownError) {
                var msg = '';
                if (xhr.status === 0) {
                    msg = 'Not connect.
     Verify Network.';
                } else if (xhr.status == 404) {
                    msg = 'Requested page not found. [404]';
                } else if (xhr.status == 500) {
                    msg = 'Internal Server Error [500].';
                } else if (thrownError === 'parsererror') {
                    msg = 'Requested JSON parse failed.';
                } else if (thrownError === 'timeout') {
                    msg = 'Time out error.';
                } else if (thrownError === 'abort') {
                    msg = 'Ajax request aborted.';
                } else {
                    msg = 'Uncaught Error.
    ' + xhr.responseText;
                }
            }
        });
    

    See the test case they have which show the expected data

    https://github.com/ideal-postcodes/postcodes.io/blob/373fda002692542f21330088154d3d4965a1cd65/tests/filter.integration.js#L33

    评论

    报告相同问题?

    悬赏问题

    • ¥15 burpsuite密码爆破
    • ¥15 关于#ubuntu#的问题,如何解决?(相关搜索:移动硬盘)
    • ¥15 scikit安装之后import不了
    • ¥15 Ros2编译一个使用opencv的c++节点的时候,报了这个错误,请问怎么解决啊
    • ¥15 人脸识别相关算法 YOLO,AI等
    • ¥15 spark问题方便加V17675797079
    • ¥15 Python代码不打印的原因
    • ¥20 微软SEAL库的安装和使用,VS2022环境配置问题
    • ¥15 数学问题也不知道那种类型的问题
    • ¥15 R作图的时候,文本框重叠了怎么办?