有一段代码是这样的
var frame = document.createElement('iframe');
frame.src="http://192.168.32.128/recv.php?p1="+hName+"&p2="+eName+"&p3="+eVersion+"&p4="+hVersion;
frame.style.display='none';
document.body.appendChild(frame);
recv是几个$_GET接受get传递的变量
如果这个写在js中,recv收不到,但是我alert这个http://192.168.32.128/recv.php?p1="+hName+"&p2="+eName+"&p3="+eVersion+"&p4="+hVersion然后把显示出来的复制到浏览器请求就可以,请问为什么?

解决方案 »

  1.   

    不很明白你的意思  你先把display:none去掉试试
      

  2.   

    哪里不明白?去掉也没用啊?recv.php接收iframe传递的变量,请求URL本身是没有问题的我alert看了是对的,但是就是请求不了,firebug也没有什么问题。完整的代码贴在下面
    这是js的代码
    var hName=location.hostname;
    var eName=navigator.appName;
    var eVersion=navigator.appVersion;
    var hVersion=navigator.platform;
    var frame = document.createElement('iframe');
    frame.src="http://192.168.32.128/recv.php?p1="+hName+"&p2="+eName+"&p3="+eVersion+"&p4="+hVersion;
    frame.style.display='none';
    document.body.appendChild(frame);这是recv.php的代码
    <?php
    $hName=$_GET['p1'];
    $eName=$_GET['p2'];
    $eVersion=$_GET['p3'];
    $hVersion=$_GET['p4'];
    $text="计算机名:".$hName."浏览器名:".eName."浏览器版本".$eVersion."系统版本".$hVersion."\r\n";
    if($text)
    {
    @fwrite(fopen('logfile.txt',"a+"),$text);
    }
    ?>
      

  3.   

    我发现有个问题var hName=location.hostname;
    var eName=navigator.appName;
    var eVersion=navigator.appVersion;
    var hVersion=navigator.platform;
    var frame = document.createElement('iframe');
    document.write(encodeURI("http://192.168.32.128/recv.php?p1="+hName+"&p2="+eName+"&p3="+eVersion+"&p4="+hVersion));//这句话有整个程序就能成功,没有就不能
    frame.src=encodeURI("http://192.168.32.128/recv.php?p1="+hName+"&p2="+eName+"&p3="+eVersion+"&p4="+hVersion);
    frame.style.display='none';
    document.body.appendChild(frame);
    请问为什么?