<script language="javascript">
var count = 5;
var g_container = [];
function callBack(num)
{
    num = num+1;
    if(num > count)
    {
        alert(g_container);//这个地方我想弹出随机数,但无论把全局变量count=3设置为几,最后弹出的还是一样的随机数,求解?
    }
    else
    {
        g_container.push(myName);
        scriptServerCall('http://127.0.0.1/server.html',callBack(num));
    }
    
}
function scriptServerCall(url,callBackFunction)

var oScript= document.createElement('script');
oScript.onreadystatechange = function ()
{
if(oScript.readyState == "loaded")
{
eval(callBackFunction);
}
}
oScript.type = 'text/javascript';
url = url + '?t=' + Math.random();
oScript.src= url;
document.appendChild( oScript);
}
setTimeout("scriptServerCall('http://127.0.0.1/server.html','callBack(0)')",10);
</script>server.html内容如下:var myName = parseInt(Math.random()*5+1);

解决方案 »

  1.   

    为你的 页面 添加一些属性 ?++Math.random()
      

  2.   

    为你的 页面 添加一些属性 ?+Math.random()   刚刚多写了一个+号
      

  3.   


    页面:?我添加过了啊?url = url + '?t=' + Math.random();
      

  4.   

    和随机没关系
    是你异步的问题
            dom.innerHTML += "push" + "<br />";
            g_container.push(myName); dom.innerHTML += "onload" + "<br />";
    eval(callBackFunction);   这2句代码上面都加上这个然后在代码头加个全局的var dom;
    在setTimeout()后面加上 dom = document.getElementById("test");然后加一个id为test的html你再测试下 看看输出什么了都  
      

  5.   

    dom = document.getElementById("test");这一句报错啊?
      

  6.   

    scriptServerCall('http://127.0.0.1/server.html','callBack('+num+')');
      

  7.   

    #1.不兼容ff,改成通用的jsonp方式更好
    #2.既然你在内部写的是eval(callBackFunction),那么传进来的callBackFunction应该是个代码字符串.scriptServerCall('http://127.0.0.1/server.html',callBack(num));要改成scriptServerCall('http://127.0.0.1/server.html','callBack('+num+')');
      

  8.   

    没有看到myName变量的声明。 
    scriptServerCall的第二个参数进行了eval(callBackFunction)操作,所以按照六楼改一下。
    最好发一下全部代码。