ajax将参数传递给javascript / php

时间:2012-04-02 13:10:08

标签: php javascript ajax

我在这段代码中遇到了一个奇怪的问题,实际上它可以工作1秒钟然后不再工作......也许某些变量/函数没有正确声明并导致这个奇怪的事情。

我的index.php中有这段代码。如果我把硬件代码放在函数myfunc par1和par2中设置为零,那么一切都行为正确,意味着loadfunc.php被这些参数正确调用,而如果尝试我发布的代码,我看到loadfunc.php被正确调用,所以我只能看1秒的正确输出..

  <script type="text/javascript">

    function myfunc(par1, par2)
    {

        var
            $http,
            $self = arguments.callee;

        if (window.XMLHttpRequest) {
            $http = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            try {
                $http = new ActiveXObject('Msxml2.XMLHTTP');
            } catch(e) {
                $http = new ActiveXObject('Microsoft.XMLHTTP');
            }
        }

        if ($http) {
            $http.onreadystatechange = function()
            {
                if (/4|^complete$/.test($http.readyState)) {
                    document.getElementById('ReloadThis2').innerHTML = $http.responseText;
                    setTimeout(function(){$self();}, 1000);
                }
            };
            $http.open('GET', 'loadfunc.php' + '?par1=' + par1 + '&par2=' + par2);
            $http.send(null);
        }
    }

  </script>
 <script type="text/javascript">
 setTimeout(function() {myfunc("0","0");}, 1000);
 </script>

1 个答案:

答案 0 :(得分:0)

setTimeout(function(){$self();}, 1000);

重置超时,但不设置参数,这就是它们显示为未定义的原因。