通过jQuery获取API的响应

时间:2017-07-04 07:40:37

标签: jquery json api

我想在输入字段中键入一些内容,然后在值存在与否时从API获取响应。

如果存在zipcode(12345),API将使用true / false值进行响应。 http://192.168.100.100:8887/public?zipcode=12345

到目前为止,这是我的代码:

$(function() {

    $('.positiveMessage, .negativeMessage').hide()
    $('#submitBtn').on('click', function() {
        var $zipcode = document.getElementById('searchZipCode').value
        $.getJSON({
            type: 'GET',
            url: 'http://192.168.100.100:8887/public?zipcode=' + $zipCode,
            success: result => {
                //Goes through the array
                $.each(result, function(i, info) {
                    $('body').append(info + '')
                })
            }
        })
    })
})

如您所见,我想通过在链接中添加变量来操纵API。

3 个答案:

答案 0 :(得分:1)

我添加了一个简单的if else语句,结果很好。虽然我不知道我是否应该使用这种方法:

//Checks keys
if (result) {
    $('.positiveMessage').show()
} else {
    $('.negativeMessage').show()
}

答案 1 :(得分:1)

你在那里有一些ES6(你的成功功能中的左箭头),这可能不像你期望的那样有效。当你已经拥有jQuery时,你也会使用getElementById。

如果没有API Feed,很难回答,但这应该可以帮助您至少获得回复。使用console.log打印API返回的内容,然后您应该能够遍历所需的数据。



$(function() {
    $('.positiveMessage, .negativeMessage').hide()
    $('#submitBtn').on('click', function() {
        var zipCode = $('#searchZipCode').val();
        $.getJSON({
            type: 'GET',
            url: 'http://192.168.100.100:8887/public?zipcode=' + zipCode,
            success: function(result){
                if (result) {
                    $('.positiveMessage').show()
                    $('.negativeMessage').hide()
                } else {
                    $('.positiveMessage').hide()
                    $('.negativeMessage').show()
                }
            }
        })
    })
})




答案 2 :(得分:0)

你可以使用这个技巧:

$('.positiveMessage').show();
var time_hide = 1000; // in ms
setTimeout(function(){
    $('.positiveMessage').hide();
}, time_hide);