2012-04-26 77 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" 
    } 
] 
})