2013-07-23 5 views
3

내가 "JSON"형식으로 사용자에 대한 여기에 필드를 가지고 말 :json 파일은 어떻게 읽습니까? extjs라는

{ 
    "users": [ 
     { 
      "id": 1, 
      "name": "Ed Spencer", 
      "email": "[email protected]" 
     }, 
     { 
      "id": 2, 
      "name": "Abe Elias", 
      "email": "[email protected]" 
     } 
    ] 
} 

내가 뿌리가 여기 "사용자"이라고 가정합니다. 이 텍스트를 users.json 파일로 저장하겠습니까?

그리고 거기에서

는 어떻게

Ext.define('AM.model.User', { 
    extend: 'Ext.data.Model', 
    fields: ['name', 'email'] 
}); 

var store = Ext.create('Ext.data.Store', { 
    model: 'User', 
    proxy: { 
     type: 'ajax', 
     url : 'users.json', 
     reader: { 
      type: 'json', 
      root: 'users' 
     } 
    } 
}); 

URL이 무엇입니까 (ext.js으로,이 경우)이 파일에서 읽습니까? 그것은 절대적인 길입니까? 이것도 작동합니까 ??? 도움!

답변

3

HTML 페이지에서 JavaScript 파일은 HTML 페이지의 URL을 기준으로 또는 절대 경로에서 제공됩니다.

이 텍스트를 users.json 파일로 저장하겠습니까?

물론 가능합니다.

URL이란 무엇입니까?

의 URL users.json 응용 프로그램을 실행하는 HTML 페이지의 URL을 기준으로하기 때문에 HTML 페이지가 http://localhost/myapp/index.html에 있다면, 상대 경로 users.json는 절대 경로 http://localhost/myapp/users.json

과 같은 것

절대 경로입니까?

아니요, users.json은 상대 경로입니다. 원하는 경우 절대 경로를 사용할 수 있습니다.

app 폴더 안에 data 폴더를 만들고 URL로 app/data/users.json을 사용합니다.

또한 네트워크 요청을 볼 수 있도록 Chrome 개발자 도구를 알아야합니다. 모델의 분야에서

+0

정확하게했는데 "NS_ERROR_DOM_BAD_URI : 제한된 URI에 대한 액세스가 거부되었습니다"라는 오류가 계속 발생하고 이유를 모르겠습니까? –

+0

을 서버 또는 파일 시스템을 통해 실행하고 있습니까? 크롬 개발자 도구 네트워크 탭은 무엇을 말합니까? –

+0

파일 시스템에서만, 현재 사무실에서 크롬을 사용할 수 없습니다. –

1
{ 
    "users": [ 
     { 
      "id": 1, 
      "name": "Ed Spencer", 
      "email": "[email protected]" 
     }, 
     { 
      "id": 2, 
      "name": "Abe Elias", 
      "email": "[email protected]" 
     } 
    ] 
} 

는, JSON에서 오는에는 아이디, 없다,

Ext.define('AM.model.User', { 
    extend: 'Ext.data.Model', 
    fields: ['name', 'email'] 
}); 

처럼, id 필드가 모델에 추가 ... 단지 이름과 이메일 필드가
Ext.define('AM.model.User', { 
    extend: 'Ext.data.Model', 
    fields: ['id', 'name', 'email'] 
});