Sencha触摸-错误- JSON恢复

Sencha Touch - Error - JSON Recovery

本文关键字:恢复 JSON 错误 Sencha 触摸      更新时间:2023-09-26

我联系你是因为我遇到了死锁。我尝试从外部web服务与"ScriptTag"但是它不工作,因为web服务返回简单的json格式(没有JSONP)。

你知道是否有另一种方法使用sencha检索json吗?

var helloWorld = new Ext.Application({
Parking: Ext.regModel('Parking', {
    fields:[
        {name:'parkingName'},
        {name:'latitude'},
        {name:'longitude'},
        {name:'mapUrl'}
    ],
}),
launch: function() {
    this.tabs = new Ext.TabPanel({
        fullscreen: true,
        dockedItems: [{xtype:'toolbar', title:'JSON Recovery'}],
        tabBar: {
            ui: 'light',
            layout: {
                pack: 'center'
            }
        },
        items: [
            {cls:'Page1', title:'Page1', html:'Page1'},
            {
                cls: 'list',
                title: 'Page2',
                xtype: 'list',
                loadingText: 'Chargement',
                itemTpl:'<div>{parkingName}</div>',
                store: new Ext.data.Store({
                    autoLoad:true,
                    model: 'Parking',
                    proxy: {
                        type: 'scripttag',
                        url :  'http://walker.hotcity.lu/hotcity-central-server/webresources/parking/json?format-version=1_0&client-type=iPhone',
                        reader: {
                            type: 'json',
                            root: 'remoteObject'
                        },                      
                    }
                }),
                
            },
        ],
                        
    });
}

});

警告:资源被解释为脚本,但使用MIME类型application/json传输。

: Uncaught SyntaxError: Unexpected token:

谢谢。凯文。

您正在寻找的是Ajax代理。文档中有一些关于如何使用它以及如何配置它的示例。默认的阅读器是JSON,所以只要你的模型与通过JSON检索的信息匹配,那么你就没事了。

您应该注意的另一件事是,JSONP可以绕过跨站点脚本,但如果您没有部署到walker.hotcity.lu域,则浏览器将不允许请求,因为同源策略。服务器将不得不响应适当的CORS头,以允许您的应用程序访问数据。