0

我在 extjs 工作。我想查找特定城市的天气。我从“ 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 的控制器中。那么有人可以指导我如何在 extjs 中集成上面的 jquery 代码吗?

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 之间没有冲突(都有自己的命名空间)。只要在 app.js 之前加载 jQuery,就可以在 ExtJS 控制器中使用 jQuery。我从 ExtJS 4.x 开始使用 jQuery 和 ExtJS,从来没有遇到过任何问题。

于 2013-03-26T13:58:40.630 回答
0

在 sencha touch 和 extjs 中,您的所有 javascript 代码都将放在您的 app.js 文件或其他类 js 文件中。您永远不会将这样的代码放在 html 的脚本标记中。如果您想在您的应用程序加载或第一件事之前调用该位置,您可以将它放在您的应用程序启动功能中或直接放在上面。

//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 回答