我有以下代码
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');
行的定义中
任何想法?
答案 0 :(得分:1)
您在较窄的范围内覆盖fun
新的<{1}}:
function exec(param1,p2,fun){
^^^ - The function you pass
xmlhttp.onreadystatechange=function(fun){
^^^ - new variable (possibly an event object)
更改其中一个变量名,这样就不会在回调函数中屏蔽它。