0

次のコードがあります

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

私が電話するとき

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

それは言う

関数ではないオブジェクト

行の定義でfun('test');

何か案は ?

4

1 に答える 1

1

funより狭い範囲で新しいもので上書きしています:

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

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

変数名の 1 つを変更して、コールバック関数内でマスクしないようにします。

于 2012-08-07T18:57:56.463 に答える