2012-07-18 11 views
0

json 피드를 얻기 위해 sencha touch를 사용할 때마다 항상이 오류가 발생합니다.Sencha touch json error

XMLHttpRequest cannot load http://api.example.com/index.php/news/all/format/json?_dc=1342630239638&node=root. Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers. 

내가 정말 내 작품의 대부분은 JSON 피드와 함께 작업 할 엽차 작업 할하지만,이 중지 주위에 일을 해결할 수있는 방법 ???

그것이 rootproperty 노드가 나던이 같은

또한 내 JSON이 출력 외모 어떤 도움?

[{ 
    "id": "7253", 
    "title": "hello", 
    "description": "", 
    "source": "syrianews", 
    "cat_name": "Syrianews" 
}, { 
    "id": "7208", 
    "title": "hello", 
    "description": "", 
    "source": "syrianews", 
    "cat_name": "Syrianews" 
}] 
+0

JSON 파일에 어떻게 액세스하고 있습니까 ??? 보여줘. – hekomobile

답변

0

크로스 도메인 Ajax 요청을하는 것처럼 보입니다. 허용되지 않습니다. Ajax 요청에는 동일한 도메인, 동일한 포트, 동일한 프로토콜의 보안 요구 사항이 있습니다. 앱을 http://www.tinyfactory.co/에서로드 한 다음 Ajax 요청을 http://api.example.com/으로 만들려고하면 보안 샌드 박스가 허용하지 않습니다.

그러나 희망이 있습니다. JSONP를 입력하십시오. JSONP 또는 패딩 된 JSON (http://en.wikipedia.org/wiki/JSONP)은 데이터를 요청한 도메인이 재생할 때이 보안 정책을 우회 할 수있는 방법입니다. 일반적으로 API에서 "콜백"이라는 매개 변수가 표시됩니다.이 기능은 선언 한 Javascript 함수에서 데이터를 래핑하는 것입니다. 예를 들면 :

http://api.example.com/datafeed.json?callback=foo 

foo({fName: 'Alex', lName: 'Rolek'}); 

JSONP 동적으로 당신이 요청하는 API로 설정 'SRC'속성으로 DOM에 스크립트 태그를 삽입하여이를 달성 할 수있는 데이터를 반환 콜백 요청 var. API가 응답을 리턴하면 응용 프로그램에서 'foo'함수가 호출되고 응답 데이터에 대한 작업을 시작할 수 있습니다.

센차 터치에서

변경 :

proxy: 'ajax' 

귀하의 요청에 따라

proxy: 'jsonp' 

합니다. API가 콜백을 허용하는 한 Sencha Touch는 나머지 작업을 수행합니다.

자세한 내용 확인 :이 도움이

http://docs.sencha.com/touch/2-0/#!/api/Ext.data.proxy.JsonP

희망을.

0

Sencha는 그러한 비 루트 응답을 읽을 수 있습니까?

[{ "ID": "7253" "제목": "안녕" '설명' '', "소스": "syrianews" "cat_name": "Syrianews" }, { "ID": "7208" "제목": "안녕" '설명' '', "소스": "syrianews" "cat_name": "syrianews" }]