2012-09-04 4 views
0

GET 요청을 수행하는 데 YUI3을 사용하고 있지만 GET 요청을 시도 할 때 이벤트 처리기가 실행되지 않습니다. 주석은 각 이벤트 핸들러의 콘솔에 로깅되어야합니다. 여기 내 코드 :YUI3 - GET 요청에서 이벤트 처리기가 실행되지 않는 이유는 무엇입니까?

YUI({ filter: 'raw' }).use("io-xdr", "substitute", "json-parse", "node", function(Y) { 

    var url = "http://localhost:8000/scripts/test.php"; 

    var output = Y.one("#container"); 

    var cfg = { 
    method: "GET", 
    xdr: { 
     use: 'native' 
    }, 
    on: { 
     start: handleStart, 
     success: handleSuccess, 
     failure: handleFailure, 
    } 
    }; 

    var handleStart = function(id, a) { 
    output.set("innerHTML", "YES"); 
    console.log("Inside of handleStart"); 
    Y.log("a"); 
    }; 

    var handleSuccess = function(id, o, a) { 
    var results = Y.JSON.parse(o.responseText); 
    console.log(results.count); 
    console.log(results); 
    Y.log("b"); 
    }; 

    var handleFailure = function(id, o, a) { 
    console.log("Inside of handleFailure"); 
    Y.log("c"); 
    }; 

    var obj = Y.io(
    url, cfg 
); 

}); 

콘솔에 오류가 없습니다. URL이 정확합니다.

답변

2

cfg를 정의한 위의 핸들러를 선언하십시오. JavaScript는 호이 스팅을 사용하므로 변수를 기술적으로 "사용 가능"하지만 사용하려고하는 퐁 (pont)에서 정의되지는 않습니다.

는이 jsbin 보여주는 기능이 작동 볼 수 있습니다 http://jsbin.com/owemib/1/edit

비록 그것이 작동하지 않는 CORS으로,하지만 적어도 로그 않습니다!