2017-02-05 14 views
0

SmartyStreet APIリクエストで使用するフォーム送信から日付を取得しようとしています。 APIからの応答を出力していません。JQueryフォームの提出がAPIで機能しない

HTML:

<div class="form-style-5"> 
     <form id="myForm"> 
      <fieldset> 
       <legend><span class="number">1</span> Input Address</legend> 
       <input type="text" id="street" name="street" placeholder="Street"> 
       <input type="text" id="city" name="city" placeholder="City"> 
       <input type="text" id="state" name="state" placeholder="State"> 
       <input type="submit" value="Submit" /> 
      </fieldset> 
     </form> 
     <fieldset> 
      <legend><span class="number">2</span> Results</legend> 
      <div id='resultBox'> 
      </div> 
     </fieldset> 
    </div> 

JSは:

AUTH_ID = "123456789"; 
    AUTH_TOKEN = "123456789" 

    $("myForm").submit(function(event) { 
     street = $("#street").val() 
     city = $("#city").val() 
     state = $("#state").val() 

     var xhr = new XMLHttpRequest(); 
     xhr.open("get", "https://us-street.api.smartystreets.com/street-address?street=" + street + "&auth-id=" + AUTH_ID + "&auth-token=" + AUTH_TOKEN, true); 
     xhr.send(); 
     var addresses = JSON.parse(xhr.responseText); 
     console.log('Hello') 

     $("#resultBox").text(addresses).show(); 
     event.preventDefault(); 
    }); 

すべてのヘルプは、私はちょうどそれが動作していない理由を知りたいとより良い方法があれば、理解されよう。ありがとう

答えて

0

要求の状態が変化したとき、要求のステータスが4(完了)、応答ステータスコードが200(OK)のときに、onreadystatechangeプロパティを使用してリクエストの状態を監視できます。応答テキストプロパティから返されたjsonデータを使用してアドレステキストを変更します。私はこれが役立つことを願っています

+0

ありがとう!あなたと@PramodPatilの間で、私はそれを稼働させることができました。 onreadystatechangeプロパティは素晴らしい追加でしたが、私はまた、ドキュメントを初めに追加するのを忘れました。 : '( – Manuca

+0

グッド!私は助けることができたことがうれしい、私の答えの横にチェックを入れて、私はそれを感謝します。 –

0

下記のコードを試してください。 document.ready関数を使用する

<script> 
      AUTH_ID = "123456789"; 
     AUTH_TOKEN = "123456789" 
     $(document).ready(function(){ 
     $("#myForm").submit(function(event) { 
     street = $("#street").val() 
     city = $("#city").val() 
     state = $("#state").val() 

     var xhr = new XMLHttpRequest(); 
     xhr.onreadystatechange = function() { 
     if (this.readyState == 4 && this.status == 200) { 

      var addresses = JSON.parse(xhr.responseText); 
      console.log(xhr.responseText) 
      $("#resultBox").text(addresses).show(); 
     } 
     }; 
     xhr.open("get", "https://us-street.api.smartystreets.com/street-address?street=" + street + "&auth-id=" + AUTH_ID + "&auth-token=" + AUTH_TOKEN, true); 
     xhr.send(); 

     event.preventDefault(); 
     }); 
     }); 
      </script> 
+0

私のために投票してください..ありがとう –

関連する問題