2011-02-11 12 views
0
function getSsrBandAid(ssn,id) {  
    DWREngine._execute(_ajaxConfig._cfscriptLocation, null, 'getSsrBandAid', ssn, doQueryResults); //calling method in decRequest.cfc  
    function doQueryResults(t){ 
    xmlT = loadXMLString(t); 
    alert(ssn);    
    } 
} 

doQueryResults() 함수에 ssn을 전달하려고합니다.
이 doQueryResults (t, ssn)을 시도했지만 작동하지 않습니다.변수를 내부 함수에 전달

도움을 주시면 감사하겠습니다.

감사합니다.

+0

오류가 있습니까? 언뜻보기에 코드가 멋지게 보입니다. 어쩌면 그것은 _execute 함수의 DWREngine 객체에 있을까요? – Olical

+0

"정의되지 않은"오류가 발생합니다. 그것을 전달하는 다른 방법이 있습니까? 고마워 – Noe

답변

1

ECMA-/Javascript에는 정적 (어휘) 범위가 있습니다. 또한 "innerContext"가 "outerContext"를 통해 닫히는 기능을 가지고 있습니다.

길게 설명하면 doQueryResults()상위 범위 (getSsrBandAid)을 복사합니다. 여기에는 인수가 들어있는활성화 개체가 포함됩니다.

따라서 alert(ssn);이 정의되지 않은 경우 getSsrBandAid()을 호출 할 때 정의되지 않습니다.

+0

getSsrBandAid (ssn)에 ssn 값을 전달 중입니다. – Noe

+0

@Noe :'getSsrBandAid'가 호출 될 때'ssn'의 값은 무엇입니까? – jAndy

+0

getSsrBandAid (ssn)을 호출 할 때 ssn을 전달합니다. doQueryResults()에 도착하기 전에 경고 (SSN)를 수행하면 올바른 값을 얻습니다. – Noe