ExtJS로 작업하면서 또 다른 이상한 문제가 발생했습니다. 내 폴더 myapp/data/users.json에서 JSON 데이터를 얻지 만 원격 서버 (http : //myserver/users.json 또는 .../getusers.php)를 가리키는 URL 주소로 변경하면 아무런 JSON 데이터도 얻지 못합니다. .프록시 엔진을 사용하여 원격 서버에서 데이터를 가져올 수 없습니다.
내 코드 :
Ext.define('APP.store.Users', {
extend : 'Ext.data.Store',
model : 'APP.model.User',
autoLoad : true,
proxy : {
type : 'ajax',
url : 'http://myserver.com/users.json',
//api : {
// //read : 'data/users.json' // it works OK
//},
actionMethods: {
read: 'GET'
},
extraParams: {
action: 'someaction',
name: 'user'
},
noCache: false,
reader : {
type : 'json',
root : 'users',
successProperty : 'success',
getResponseData : function(r) {
console.log("RESPONSE in reader: ", r);
}
},
afterRequest : function(request, success) {
console.log(request, success); // success: either true or false
},
....
내가 설치 한 아파치 서버는 ExtJS를 사용하고 로컬 호스트/users.json와 SUCC에 대한 데이터를로드 할 수 있습니다. 문제가 내 시스템을 만들 수 있다고 생각했습니다. 그러나 방화벽을 해제 한 상태에서 Windows XP와 Windows 7을 모두 확인했습니다. 도움이되지 않았다.
방화 광 -> 네트워크는 원격 주소에 대해 HTTP 코드 200을 표시하지만 respone 탭에는 데이터가 없습니다 (이 경우 json 구조체).
Request headers from Firebug:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language pl,en-us;q=0.7,en;q=0.3
Access-Control-Request-He... x-requested-with
Access-Control-Request-Me... GET
Connection keep-alive
Host myserver.com // WAS CHANGED
Origin http://localhost
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1
나는 무엇이 wrogn 일 수 있는지 전혀 모른다. 모두 괜찮을 것 같습니다.
감사합니다.
가짜
내 답변에 대해서는 100 % 확신 할 수 없지만 AJAX는 도메인 간 요청을 지원하지 않으며 myserver.com을 참조하면 상호 도메인으로 간주됩니다. 이를 위해서는'jsonp'을 사용해야합니다. – Izhaki