第一个请求发送getAjaxInfo(***,function(tmp){eval("var tmp="+tmp);}
这个是getajaxinfo的函数
function getAjaxInfo(*,fn){
$.ajax({
cache:false,
type:get,
url:url,
data:,
dataType:'text',
success:function(msg){
fn(msg);
}
});
}
我现在有点困惑,在第一个里面调用了getajaxinfo这个函数,function有个参数是tmp。function当做第二个函数的fn进入到getaajaxinfo中运行,然后这个tmp是多会儿被赋上值的,为什么在函数里能用?那么那个msg呢?

解决方案 »

  1.   

    fn(msg);
    将msg传入到function(tmp){eval("var tmp="+tmp);}里面去的啊
    fn只是一个参数。单纯的函数都可以啊。。
      

  2.   

    函数作参数,传进去就能用了啊。
    msg是成功的时候回调赋值的。
      

  3.   

    msg就是ajax成功后才有值,对吗?
      

  4.   

    msg是接收返回的变量名,你随便起一个就可以,你定义什么变量都会用来接收返回
      

  5.   

    那个msg就是形参tmp
    可以换种写法:
    var fun = function(tmp){
      eval("var tmp="+tmp);
    }
    getAjaxInfo(***,fun)
    这样明白了吧
      

  6.   

    给你举个例子吧
    function test(callback){
        if(typeof callback=='function'){
            callback("你好");
        }
    }
    test(function(msg){
        alert(msg); //这个msg就是你好
    })
      

  7.   

    没有研究,是我对javascript的运行产生了不解,尤其是有了ajax,参数的来源有点郁闷,不过一下就茅塞顿开了