Javascript 使用ExtJS4.2访问Google api

Javascript 使用ExtJS4.2访问Google api,javascript,google-maps,extjs,extjs4,extjs4.1,Javascript,Google Maps,Extjs,Extjs4,Extjs4.1,我尝试使用Extjs sencha访问以下url。运行时未加载数据。当我尝试访问浏览器上的url时,我能够看到数据 我是Extjs的新手。我知道我正在尝试加载跨域数据。但我不知道如何实现这一点。请有人帮帮我 Ext.define('MyApp.store.MyJsonStore', { extend: 'Ext.data.Store', requires: [ 'MyApp.model.MyModel', 'Ext.data.proxy.Ajax', 'Ext.dat

我尝试使用Extjs sencha访问以下url。运行时未加载数据。当我尝试访问浏览器上的url时,我能够看到数据

我是Extjs的新手。我知道我正在尝试加载跨域数据。但我不知道如何实现这一点。请有人帮帮我

Ext.define('MyApp.store.MyJsonStore', {
extend: 'Ext.data.Store',

requires: [
    'MyApp.model.MyModel',
    'Ext.data.proxy.Ajax',
    'Ext.data.reader.Json'
],

constructor: function(cfg) {
    var me = this;
    cfg = cfg || {};
    me.callParent([Ext.apply({
        model: 'MyApp.model.MyModel',
        storeId: 'MyJsonStore',
        proxy: {
            type: 'ajax',
            url: 'https://maps.googleapis.com/maps/api/geocode/json?address=Barcroft + Plaza +Apartments ,+22041&sensor=true&key=API_KEY',
            reader: {
                type: 'json'
            }
        },
        listeners: {
            load: {
                fn: me.onJsonstoreLoad,
                scope: me
            }
        }
    }, cfg)]);
},

onJsonstoreLoad: function(store, records, successful, eOpts) {
    Ext.MessageBox.show('Loaded');
}
}))

我也尝试过jsonp,而不是Ajax代理。如果我使用jsonp,那么我会得到未捕获的syntaxerror意外标记。我搜索了很多博客、论坛,每个人都在谈论添加回调,但我正在调用第三方api

我尝试了以下jsonp代码。我尝试了使用和不使用回调键的两种方法

proxy: {
            type: 'jsonp',
            url: 'https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true&key=API_KEY',
            callbackKey: 'Mycallback',
            reader: {
                type: 'json',
                root: 'results'
            }

您能解释一下“访问url”、“未加载数据”的含义吗。也许你能出示相关代码?我想你的问题是cors。在控制台中,您应该会得到一些关于它的警告。除非web服务启用了cors,否则基本上无法跨域发出跨站点请求。JsonP是解决这个问题的一种方法,但是,我不相信这个服务除了回调之外会有什么效果。嗨,hgoebl,我已经更新了那里的代码。请检查一下。嗨,Weeksdev。无论如何,是否可以将此服务作为回调调用。如果可以,请给我一段代码。这将非常有帮助您是否有某种后端可以为您进行调用?我的想法是:点击端点(中间层),它代表用户进行调用并返回数据,因此,CORS不应该是一个问题,您也不必执行JSONP。