2017-06-18 9 views
0

APIリクエストを覚え始めたばかりで、APIXU APIコール(ここではドキュメント:https://www.apixu.com/doc/current.aspx)を使用してトロントで現在の天気を表示しようとしていますが、何が間違っているのか分かりません。ここでAPIXUの天気APIに関する問題

はhtmlです:

 // Weather API 
    function loadData() { 
     var weatherAPIXU = "http://api.apixu.com/v1/current.json?key=XXXXXXXXXXXXXXXXX&q=Toronto"; 
    $.getJSON(weatherAPIXU, function(data) { 
     var list = $(".place ul"); 
     forecast = data.current; 
     list.append('<li>Temp: ' + forecast.temp_c + '°C</li>'); 
    }).error(function(e) { 
     $(".place").append('<p style="text-align: center;">Sorry!</p><p style="text-align: center;">Could Not Be Loaded</p>'); 
    }); 
}; 

$('.place').submit(loadData); 

私はJSONを経由して、それを実装する方法を知ったら、私はknockout.jsでそれをバインドするだけでなく

:ここ

<div class="weather"> 
    <h3>Toronto Weather Forecast</h3> 
    <ul style="margin: 0"> 
    </ul> 
</div> 

はJSです

それで、あなたも私にそれについての勧告を与えることができれば、それは非常に高く評価されるでしょう。

+1

このリンクには、ノックアウトでのajaxリクエストの処理方法が記載されています。http://knockoutjs.com/documentation/json-data.htmlまた、Knockoutマッピングプラグインはあなたを助けることができます(http://knockoutjs.com/documentation/plugins-mapping.html)。 –

+0

返信いただきありがとうございます!私はまだマッピングには入っていませんが、リンクに感謝します - 私はそれを調べます。今のところ私はJSONがhtmlに読み込まれない理由は非常に不思議です。私は結果をコンソールで見ることができるからです。 –

答えて

0

私はそれに近づきましたが、私は自分のAPIをまったく読み込まなかったことがわかりました。だから、類似の問題を抱えている人たちのための実用的な解決策がここにあります。

$(document).ready(function loadData() { 
    var weatherAPIXU = "http://api.apixu.com/v1/current.json?key=XXXXXXXXXXXX&q=Toronto"; 
    $.getJSON(weatherAPIXU, function(data) { 
     var forecast = data.current.temp_c; 
     var weather = $(".weather"); 
     weather.append(forecast + '° C'); 
    }).error(function(e) { 
     $(".weather").append('Sorry! Not Loaded'); 
    }); 
    $('.weather').submit(loadData); 
});