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)

更改变量名称之一,这样您就不会在回调函数中对其进行屏蔽。

于 2012-08-07T18:57:56.463 回答