在TypeScript模块中调用jsonp回调(devextreme)

时间:2014-08-18 11:42:19

标签: jquery jsonp typescript devextreme

我想从devextreme的typescript模块调用jsonp回调。 以下代码无效。 我想调用weatherResponse回调,但它在TypeScript模块中。

module tellmeweather {
    export function home(params: { id: any }) { 
        return {
            LocationValue: ko.observable("New York"),
            LocationResults:ko.observable("No Results"),
            goSearch: function () 
            {

                $.ajax({
                    url: 'http://api.openweathermap.org/data/2.5/weather?q='
                         + this.LocationValue() + ',it&callback=weatherResponse',
                    dataType: 'jsonp',
                    jsonp: 'weatherResponse',
                    success: function () {

                    }
                });
            }
            ,
            weatherResponse: function (locdata:any)
            {    
                this.LocationResults("Location Name:"+locdata.name);    
           }
        };
    }
}

1 个答案:

答案 0 :(得分:0)

根本不要指定'jsonp'参数。让jquery解决它。 像下面这样的ajax请求

$.ajax({
    url: 'http://api.openweathermap.org/data/2.5/weather?q=' + this.LocationValue() + ',it&callback=?',
    dataType: 'jsonp'
}).done(function(result) {
    // code here
});

你可以在github上找到工作脚本 https://github.com/nils-werner/owm-display/blob/master/js/loader.js