Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript php全局变量增量_Javascript_Php - Fatal编程技术网

JavaScript php全局变量增量

JavaScript php全局变量增量,javascript,php,Javascript,Php,我有一个JavaScript函数,当我调用该函数时,它将返回一个在PHP全局变量中设置的增量值 js调用函数是:dData() Js功能: var dData = function() { alert(<?php returnincreament($_SESSION['UnarJ']); ?>); }; 我希望增量警报值应为1、2、3、4、5、6等 JSCODE var datas = { labels: ["12 AM","1 AM", "2 AM", "3 AM", "4

我有一个JavaScript函数,当我调用该函数时,它将返回一个在PHP全局变量中设置的增量值

js调用函数是:
dData()

Js功能:

var dData = function() {
alert(<?php returnincreament($_SESSION['UnarJ']); ?>);
};
我希望增量警报值应为1、2、3、4、5、6等

JSCODE

var datas = {
  labels: ["12 AM","1 AM", "2 AM", "3 AM", "4 AM", "5 AM", "6 AM","7 AM", "8 AM", "9 AM", "10 AM", "11 AM"],
  datasets: [{
    fillColor: "rgba(78,156,181,.5)",
    strokeColor: "rgba(2,119,158,1)",
    data: [
    <?php
    $j=0;
    for($j=0;$j<12;$j++)
    {
        echo round($udData[$j]);
        if($j<12){
                echo ",";
        }
        $_SESSION['udbarJ']=$j;
    }

    ?>]
  }]
};
var returndata=0;
var nextcount=0;
var dData = function() {
     $.post( "includes/hourlyud.php", function( data ) {
         //var p=data;
         returndata=data;
     });
     return returndata;
};
var index = 11;
var currentampm="AM";
var ctxs = document.getElementById("cd").getContext("2d");
var barChartLine = new Chart(ctxs).Line(datas, {
  responsive: true,
  barValueSpacing: 5,
  bezierCurve: false
});
var ampm = function(amorpm,cstat) {
    if(amorpm===12 && cstat==="AM"){
        return "PM";
    }
    if(amorpm===12 && cstat==="PM"){
        return "AM";
    }
    if(amorpm>=1 && cstat==="AM"){
        return "AM";
    }
    else return "PM";
};
setInterval(function() {
  barChartLine.removeData();
  barChartLine.addData([dData()], index + ampm(index,currentampm));
  index++;
  if(index>12){
      if ((ampm(index,currentampm))==="AM"){
          currentampm="PM";
      }
      else
          currentampm="AM";
      index=1;
  }
}, 5500);
var数据={
标签:[“上午12点”、“凌晨1点”、“凌晨2点”、“凌晨3点”、“凌晨4点”、“上午5点”、“上午6点”、“上午7点”、“上午8点”、“上午9点”、“上午10点”、“上午11点”],
数据集:[{
填充颜色:“rgba(78156181,.5)”,
strokeColor:“rgba(2119158,1)”,
数据:[
]
}]
};
var returndata=0;
var nextcount=0;
var dData=函数(){
$.post(“includes/hourlyud.php”,函数(数据){
//var p=数据;
返回数据=数据;
});
返回数据;
};
var指数=11;
var currentampm=“AM”;
var ctxs=document.getElementById(“cd”).getContext(“2d”);
var barChartLine=新图表(ctxs).Line(数据{
回答:是的,
barValueSpacing:5,
贝塞尔曲线:假
});
var ampm=功能(amorpm、cstat){
如果(amorpm==12&&cstat==“AM”){
返回“PM”;
}
如果(amorpm===12&&cstat===“PM”){
返回“AM”;
}
如果(amorpm>=1&&cstat==“AM”){
返回“AM”;
}
否则返回“PM”;
};
setInterval(函数(){
barChartLine.removeData();
addData([dData()],index+ampm(index,currentmampm));
索引++;
如果(索引>12){
如果((ampm(索引,当前ampm))=“AM”){
currentampm=“PM”;
}
其他的
currentampm=“AM”;
指数=1;
}
}, 5500);

因为PHP是服务器端的,javascript是客户端的,所以它不会这样工作。您必须使用AJAX才能使其正常工作


就像对php脚本调用ajax请求->添加+1->将值返回警报。

php是服务器端,它在页面加载之前执行,因此:

<?php returnincreament($_SESSION['UnarJ']); ?>
现在要让它工作,您需要AJAX,它将向服务器上的PHP脚本发送请求并获得返回的结果。使用jquery可以通过以下方式完成此操作:

var dData = function() {
     $.post( "file.php", function( data ) {
         alert( data );
     });
}
然后在
file.php
中,您只需要:

<?php
session_start();
$_SESSION['UnarJ']= ++$_SESSION['UnarJ'];
echo $_SESSION['UnarJ'];

$\u会话['UnarJ']
是否确实需要更新,或者您只想在客户端对其进行增量?只想进行增量,但这并没有回答问题。
SESSION
值是否需要增加,或者您只是在客户端增加?基本上,我想要的是,我有一个包含数值的php数组变量,因此,例如,当我调用js函数dData(index)时,它将转到函数var dData=function(){return(使用索引计算的php值)};不知何故,我需要js function中的php变量值我想要从这里返回数据var dData=function(){$.post(“file.php”,function(data){return(data);});}但它不工作是的,但不返回函数callingi的值我添加了一个gloabal变量,var returndata=0,但它返回的第一个值为0;既然警报是正确的,那么问题就在于您的实现在代码道路上走得更远。您没有提供该代码,因此很难告诉您发生了什么。@ShimulChowdhury您遇到的问题已经解决。这是一个单独的JS变量范围问题,这将是一个单独的问题。我可以向您介绍一种可行的黑客方法,但您应该从精通JS的用户那里得到答案。
var dData = function() {
     $.post( "file.php", function( data ) {
         alert( data );
     });
}
<?php
session_start();
$_SESSION['UnarJ']= ++$_SESSION['UnarJ'];
echo $_SESSION['UnarJ'];
if(empty($_SESSION['UnarJ'])) {
    $_SESSION['UnarJ'] = 0;
}