setinterval $ _GET [“variable”]返回空

时间:2012-01-13 05:07:09

标签: jquery setinterval

我正在使用这样的setInterval:

setInterval(function(){ $('div#data').load('./data.php').fadeIn("fast"); },1000);

网址如下:localhost/test.php?data=ok

在data.php中,我从$ _GET获取变量:

$data = $_GET["data"];

当文档准备就绪时$data的值为ok,但是当加载间隔时,$data已失去其值..

为什么会这样?

2 个答案:

答案 0 :(得分:3)

因为HTTP是无状态协议。每个请求都以任何方式与另一个请求无关。并且对于每个HTTP请求,从头开始创建php脚本的新环境。因此,第二个请求没有?data=ok,因此服务器对$_GET["data"]

一无所知

答案 1 :(得分:1)

尝试100%工作

test.html =>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
$(document).ready(function(){
    setInterval(function(){ 
        $.ajax({
            url: 'test.php',
            type: "GET",
            data: "data=ok",
            cache: true,
            success: function(data){
                console.log(data);           
            }
            });
    },1000);
});
</script>
<title>Insert title here</title>
</head>
<body>

</body>
</html>

test.php =&gt;

<?php echo $_GET['data']; ?>

现在打开浏览器的控制台,然后在响应中看到“确定”