0

特定の都市の天気を知りたいです。「 http://api.wunderground.com/api/4ab310c7d75542f3/geolookup/conditions/q/IA/pune.json 」から参照を得ました。次のコードをhtmlファイルに記述することにより、指定された都市に関連するすべての情報をjson形式で提供します-

   <script
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js">

</script>

<script>
    jQuery(document).ready(function($) {
                        $.ajax({
                                    url : "http://api.wunderground.com/api/4ab310c7d75542f3/geolookup/conditions/q/IA/Pune.json",
                                    dataType : "jsonp",
                                    success : function(parsed_json) {
                                        var location = parsed_json['location']['city'];
                                        var temp_c = parsed_json['current_observation']['temperature_string'];
                                        alert("Current temperature in "
                                                + location + " is: " + temp_c);
                                    }
                                });
                    });
</script>

正しく動作しています。今、この jquery コードを extjs のコントローラーに統合したいと考えています。上記のjqueryコードをextjsに統合する方法を教えてもらえますか?

4

3 に答える 3

2

次の extjs コードはあなたのものと同じことを行うので、コントローラー内で使用できます。

Ext.data.JsonP.request({
    url:"http://api.wunderground.com/api/4ab310c7d75542f3/geolookup/conditions/q/IA/Pune.json",
    success : function(parsed_json) {
        var location = parsed_json['location']['city'];
        var temp_c = parsed_json['current_observation']['temperature_string'];
        alert("Current temperature in " + location + " is: " + temp_c);
    }
});
于 2013-03-23T22:01:15.483 に答える
0

ExtJS と jQuery の間に競合はありません (どちらも独自の名前空間を持っています)。jQuery が app.js の前にロードされる限り、ExtJS コントローラーで jQuery を使用できます。ExtJS 4.x以降、ExtJSでjQueryを使用していますが、問題はありませんでした。

于 2013-03-26T13:58:40.630 に答える
0

sencha touch と extjs の両方で、すべての JavaScript コードは app.js ファイルまたは他のクラスの js ファイルに配置されます。そのようなコードを html の script タグに入れることは決してありません。アプリが読み込まれる前、または最初にその場所を呼び出したい場合は、アプリケーションの起動関数に配置するか、すぐ上に配置します。

//DO YOUR AJAX CALL HERE BEFORE YOUR APPLICATION LAUNCHES

    Ext.application({
        name: 'MyApp',
        launch: function() {

            //OR INSIDE THE LAUNCH FUNCTION
        }
    });
于 2013-03-27T19:21:56.300 に答える