关于jQuery/js变量作用域,及赋值的问题:

先给出代码:$(document).ready(function(){vari="session";$("#butt").on("click",function(){if... 先给出代码:
$(document).ready(function(){
var i="session";
$("#butt").on("click",function(){
if($("#name").val()=="")
{
alert("不能为空");
}
else{
$.ajax(
{
url:"ceshi.php?q="+Math.random(),
data:{
name:$("#name").val(),
firstname:"T"
},
success:function(result){
i=result;
$("div").html(i);
}
});
}
});
setInterval(function(){$("div").html(i)},50);
});
我想要做的事情是:
让两个相同的页面的数据作同步显示,也就是当我点击一个按钮时就算另外一个页面没有点击按钮也会做出相应的数据显示。

我的代码思想是:
使用$.ajax进行数据的读取,利用PHP中的session对数据做一个暂存,当$.ajax读取到数据以后就把数据赋给一个全局变量。然后我再把这个全局变量在页面上显示出来。

现在的问题是:
当我在定义了一个全局变量i,我把$.ajax的回调函数中把返回值赋值给i,$.ajax外面使用setInercval()方法调用这个i值,但是这个i值并没有赋值成功(直接在$.ajax的回调函数中调用时是赋值成功的)。
所以我在想,难道这两个i值不一样吗?在回调函数中的i难道被重新定义了?
展开
 我来答
小雨和4
2016-11-22 · TA获得超过314个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:115万
展开全部
这个变量i是全局的,当然是一个,主要是你 var i="session";这个地方的问题,应是:

var i="<?php echo $_SESSION['你的临时会话'];?>";
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式