2012-08-07 4 views
0

는 다음 코드 내가다른 함수에 매개 변수로 js 함수를 보내는 방법은 무엇입니까?

exec(param1,param2, 
    function(data){ 
     alert (data); 
    }); 

이 라인 fun('test');

에서 정의

객체가 아닌 함수

를 말한다 전화

function exec(param1,p2,fun){ 
    xmlhttp=new XMLHttpRequest(); 
    xmlhttp.onreadystatechange=function(fun){ 
     data=xmlhttp.responseText; 
     fun(data); 
    } 
    // rest ajax connection code 
} 

에게 있습니다

어떤 아이디어가 있습니까?

+5

나를 위해 일해 ... http://jsfiddle.net/jHbsW/ – canon

+0

나를 위해 일합니다. – Hubro

+0

'console.log (fun)'(또는'console.log (exec)')는 무엇을 보여줍니까? –

답변

1

당신은 좁은 범위를 새 fun을 덮어 쓰는 :

function exec(param1,p2,fun){ 
         ^^^ - The function you pass 

xmlhttp.onreadystatechange=function(fun){ 
            ^^^ - new variable (possibly an event object) 

변경 변수 이름 중 하나를 당신이 당신의 콜백 함수 내부를 마스킹되지 않도록.

관련 문제