2012-04-26 76 views
0

我是通过JSONP列表检索信息和我越来越控制台浏览器中出现以下错误:“意外的标记:”错误JSONP商店

我的店:

Ext.define ('Projeto.store.Mural', { 
extend 'Ext.data.Store' 
requires: [ 
    'Projeto.model.Mural' 
] 

config: { 
    autoLoad: true, 
    model: 'Projeto.model.Mural' 
    storeId 'MuralStore' 
    Proxy { 
     type: 'jsonp' 
     url: 'http://URL/mural' 
     reader: { 
      type: 'json', 
      rootProperty: 'rows' 
     } 
    } 
} 
}); 

我的列表:

Ext.define ('Projeto.view.MuralList', { 
extend 'Ext.dataview.List' 
alias: 'widget.murallist' 

config: { 
    loadingText: 'Loading ...', 
    store: 'MuralStore' 
    itemTpl: [ 
     '<div> Message: {message} </ div> 
    ] 
} 
}); 

JSON返回我的网址:

{ 
"rows": [ 
    { 
     "lookup": "yyyy" 
     "dateTime", "10/10/1970" 
     "id": "1", 
     "message": "yyyy" 
    } 
    { 
     "lookup": "dsdfasfsadf" 
     "dateTime", "15/05/2012" 
     "id": "2", 
     "message": "dsdfasfsadf" 
    } 
] 
} 

有谁知道为什么错误,因为JSON的格式是有效的。

谢谢。

+0

itemTpl:的值缺少结尾引号,这是一个错字还是它的外观? – 2012-04-26 18:05:37

+0

它错字。 - @DiêgoNunes – 2012-04-26 20:45:17

回答

0

你错过了在中间有一个逗号:

{ 
"rows": [ 
    { 
     "lookup": "yyyy" 
     "dateTime", "10/10/1970" 
     "id": "1", 
     "message": "yyyy" 
    }, 
    { 
     "lookup": "dsdfasfsadf" 
     "dateTime", "15/05/2012" 
     "id": "2", 
     "message": "dsdfasfsadf" 
    } 
] 
} 
+0

对不起,我编辑了文件,然后才可以发布和无意中删除逗号。它用逗号拼写。 – 2012-04-26 20:00:30

0

首先,您在许多地方缺少':',并且在发言结束时还缺少','。在属性值前使用:,在语句结束时使用,总是很好的做法。

这样,

... 
... 
requires: [ 
    'Projeto.model.Mural' 
], 

config: { 
    autoLoad: true, 
    model: 'Projeto.model.Mural', 
    storeId: 'MuralStore', 
    proxy : { 
     type:'jsonp', 
    }, 
.... 
.... 

其次,这个错误是发生,因为你的反应是不是有效 JSONP响应。

当我在jsonplint.com检查,这表明我这个错误

Invalid JSONP 
No callback function defined 
Improper or no closing 
  1. 所以,要么你需要确保你有一个有效的回调函数定义。

  2. 否则,你可以做一件事。将type:'jsonp'更改为type:'ajax',这应该可以解决您的问题,而无需更改其他任何内容。

0

既然你请求其作为JSONP,不只是JSON,它希望你的JSON在回调函数被封闭。例如:

callback({ 
"rows": [ 
    { 
     "lookup": "yyyy" 
     "dateTime", "10/10/1970" 
     "id": "1", 
     "message": "yyyy" 
    } 
    { 
     "lookup": "dsdfasfsadf" 
     "dateTime", "15/05/2012" 
     "id": "2", 
     "message": "dsdfasfsadf" 
    } 
] 
})