2017-07-04 15 views
-1

入力フィールドにいくつかの項目を入力し、その値が存在する場合はAPIから応答を取得したいと考えています。jQueryを使用してAPIからの応答を取得

郵便番号(12345)が存在する場合、APIは真偽値で応答します。 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を操作したいのですが見ることができるように。

+2

あなたはローカルIPを与えている;) –

+1

オプスを!私はJSONを書きます! –

+0

あなたはブール値をループしていますか? –

答えて

1

私は単純なif else文を追加しました。あなたはそこにいくつかのES6(あなたの成功の機能で左矢印)を持っている

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

はい、これはブール値をループするよりも良い解決方法です –

+0

いいえ!ピーターにとても素早く返答してくれてありがとう。ほんとうにありがとう。 Btw、 '.negativeMessage'が存在しない値を検索すると、' .positiveMessage'も終了しますが、他のメッセージは消えません。何かご意見は? –

1

あなたが期待しているように動作しない場合があります:私はこの方法かどうかを使用する必要がある場合、私は知りませんが。すでにjQueryを取得している場合は、getElementByIdも使用しています。

APIフィードがないと答えにくいですが、これは少なくとも回答を得るのに役立ちます。 APIから返されたものを出力するには、console.logを使用します。すると、必要なデータをトラバースできるはずです。

$(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() 
 
       } 
 
      } 
 
     }) 
 
    }) 
 
})

0

あなたはこのトリックを使用することができます。

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

スマートなアイデアだが、ユーザーが検索をやり直すまでコンポーネントが最後まで続くかどうかは疑問だ。 *思考面* –

関連する問題