2016-04-06 15 views
1

ためのvarセットにもかかわらず、未定義ので、これは私がコードである私JavascriptをrequestData私はopenweather APIを使用して、国や都市を経由して天気予報を取得しようとしていますJSON

に簡単にアクセスしてくださいする前に、私はJSONを使用してコード化されたことがありません使用:

<script type="text/javascript"> 
     $(document).ready(function() { 
      $('#btnGetWeather').click(function() { 
       var requestData = $('#txtCity').val() + ',' + $('#txtCountry').val(); 
       var resultElement = $('#resultDiv'); 

       $.ajax({ 
        url : 'http://api.openweathermap.org/data/2.5/weather', 
        method : 'get', 
        data: { q:requsestData }, 
        dataType: 'json', 
        success : function (data){ 
         resultElement.html('Weather: ' + data.weather[0].main + '<br />' + 'Description: ' + data.weather[0].description); 
        } 
       }); 
      }); 
     }); 
    </script> 

私は放火犯に誤差が出ていることqは:requestDataは、入力用のHTMLは、私はこれは単純な誤りがあることを確信しているが、私はするように分からないよ、ここに以下の通りです、私は混乱している定義されていませんこれは何ですか

<tr> 
      <td> 
       City 
      </td> 
      <td> 
       <input type="text" id="txtCity"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       Country 
      </td> 
      <td> 
       <input type="text" id="txtCountry"> 
      </td> 
     </tr> 
    </table> 
    <input type="button" id="btnGetWeather" value="Get Weather Data"> 
    <br /><br /> 
    <div id="resultDiv"> 
    </div> 
+0

APIはクロスドメインリクエスト/ CORSをサポートしていますか?そうでない場合、あなたは同じ起源の方針によってブロックされている可能性があります –

+0

私はそれがそうであると思います、私はこれが使用された例、開いた天気のapi –

+2

をタイプしています 'var requestData'があり、 'requsestData' 。 – void

答えて

0

いくつかの問題:

  1. タイプミスがあり、あなたはvar requestDataを宣言し、requsestDataのようにそれを使用しています。 u and eの間に余分なsを削除します。

  2. methodは、POSTでなければならず、GETでなければならない。

+0

それはうまくPOSTではありません。うまくいきません。 –

+0

最初にあなたの質問は解決されますが、POSTに変更しないとコードは機能しません。 :) – void

+0

面白いです –

1

他の人も指摘しているように、問題の原因の一部は誤字によるものです。最後に、あなたのリクエストは次のようになります:

$.ajax({ 
    'method': 'POST', 
    'url': 'http://api.openweathermap.org/data/2.5/weather', 
    'data': { 
    'q': city + ',' + country, 
    'APPID': APIKEY, 
    }, 
    'success': success, 
}); 

あなたのAPIキーは、おそらく追加する必要があります。 2015年10月以降、Open Weather MapのAPIを使用するにはAPIキーが必要です。参考:http://openweathermap.org/faq#error401

あなたはここにAPIキーを取得することができます。http://openweathermap.org/appid

はその後dataオブジェクトに「APPID」プロパティを追加し、APIキーに値を設定します。

関連する問題