在Postcodes.io中返回JSON值

时间:2018-07-31 10:28:25

标签: jquery json

我正在尝试从postcodes.io的字符串返回值admin_district,但是我的JS技能是基本的。

使用stringify获取完整的字符串相对简单,但是当我尝试提取一个值时,我陷入了困境。我知道我不需要parse数据已经是一个JSON字符串,但是我不知道如何获取results字符串进行验证和admin_district。 / p>

编辑:忘记添加,我正在尝试将admin_district放入输入

任何帮助将不胜感激!

JS Fiddle

我的代码:

<script>
        $(document).ready(function() {

            $("#get_postcode").click(function (event) {
            event.preventDefault();
            var fullResult = $("#full_result").hide();
            var postcode = $("#postcode_input").val();
            $.get(encodeURI("https://api.postcodes.io/postcodes/" + postcode))
            .done(function (data) {
                fullResult.html(JSON.stringify(data, null, 4)).show();
                $("#admin_district").val(data[0].admin_district);
            })
            .fail(function (error) {
                fullResult.html(JSON.stringify(error.responseJSON, null, 4)).slideDown();
            });
            });
        });


    </script>
</head>

<body>
     <h4>Get Admin District</h4>
     <input value="TW6 2AP" id="postcode_input">
     <a href="#" id="get_postcode">Request</a>
     <div id="full_result"></div>
    <input id="admin_district" placeholder="Admin District">
</body>

1 个答案:

答案 0 :(得分:3)

根据JSON响应,admin_district位于data.result内部,而不是data[0] 您在这行代码$("#admin_district").val(data[0].admin_district);中做错了,不是这样,请将其更改为$("#admin_district").val(data.result['admin_district']);

Check the js fiddle