2012-04-26 5 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' 
     } 
    } 
} 
}); 

마이리스트 :

{ 
"rows": [ 
    { 
     "lookup": "yyyy" 
     "dateTime", "10/10/1970" 
     "id": "1", 
     "message": "yyyy" 
    } 
    { 
     "lookup": "dsdfasfsadf" 
     "dateTime", "15/05/2012" 
     "id": "2", 
     "message": "dsdfasfsadf" 
    } 
] 
} 
,369 :
Ext.define ('Projeto.view.MuralList', { 
extend 'Ext.dataview.List' 
alias: 'widget.murallist' 

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

는 JSON 내 URL을 반환

JSON이 유효한 형식이므로 아무도 이유를 알 수 있습니까?

감사합니다.

+0

itemTpl에 대한 값은 닫는 인용 부호가 누락되었거나, 오타 또는 실제로 보이는 모양입니까? –

+0

typ. - @ Diêgo Nunes –

답변

0

당신은 중간에 쉼표를 놓치고 :

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

죄송합니다. 게시하기 전에 파일을 편집했습니다. 실수로 쉼표를 제거 할 수 있습니다. 쉼표로 표기됩니다. –

0

처음에는 You'r이 여러 곳에서 ':'을 잃어 버렸고 문장이 끝나면 ','이되었습니다. 속성 값 앞에 :을 사용하고 문 끝에는 ,을 사용하는 것이 항상 좋습니다. 이처럼

,
... 
... 
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" 
    } 
] 
})