Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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 如何从js调用php方法?_Javascript_Php_Arrays_Ajax_Queue - Fatal编程技术网

Javascript 如何从js调用php方法?

Javascript 如何从js调用php方法?,javascript,php,arrays,ajax,queue,Javascript,Php,Arrays,Ajax,Queue,我正在从事柜台服务项目,在那里我需要控制客户的流量,每个客户可以有5分钟在柜台。另一方面,系统应控制5个计数器 下面是我解决这个问题的尝试。看看我的MWE: //这是我为每个计数器设置计时器的代码的一部分。 函数增量(){ 如果(运行==1){ setTimeout(函数(){ 时间++; var分钟=数学下限(时间/10/60); var秒=数学下限(时间/10); 变量十分之一=时间%10; 如果(分钟==5){ //5分钟后,系统应调用php deQueue()方法,将当前的数据排出来,

我正在从事柜台服务项目,在那里我需要控制客户的流量,每个客户可以有5分钟在柜台。另一方面,系统应控制5个计数器

下面是我解决这个问题的尝试。看看我的MWE:

//这是我为每个计数器设置计时器的代码的一部分。
函数增量(){
如果(运行==1){
setTimeout(函数(){
时间++;
var分钟=数学下限(时间/10/60);
var秒=数学下限(时间/10);
变量十分之一=时间%10;
如果(分钟==5){
//5分钟后,系统应调用php deQueue()方法,将当前的数据排出来,并向下一个客户指出。
document.getElementById(“message”).innerHTML=“当前,计数器可用…下一个客户…”
出列();
//这是我的php方法。
可用();
}
document.getElementById(“timer”).innerHTML=mins+“:“+secs+”:“+十分之一;
增量();
}, 100)
}
}
//这是我的php文件。

在我看来,您似乎正在尝试从JavaScript直接调用PHP函数。为了简单地描述它,这两种语言通常需要一个额外的层来通信,称为,因为PHP在Web服务器上运行,JavaScript在Web浏览器上运行

要在“特定时间后”执行JavaScript函数,可以使用


要打开与PHP(Web服务器)的通信,您可以使用。

现在您需要对PHP文件使用ajax请求,如下所示:

function increment() {
    if (running == 1) {
        setTimeout(function() {
            time++;
            var mins = Math.floor(time / 10 / 60);
            var secs = Math.floor(time / 10);
            var tenths = time % 10;
            if (mins == 5) ajaxDequeue(mins);
            document.getElementById("timer").innerHTML = mins + ":" + secs + ":" + tenths;
            increment();
        }, 100)
    }
}

function ajaxDequeue(mins){ 
    $.ajax({  
        url: 'ajax.php?minutes=' + mins,  
        beforeSend: function() 
        {
            document.getElementById("message").innerHTML = "Currently, Counters are available... Next Customer..."
        },  
        success: function(response)
        {
            document.getElementById("message").innerHTML = response;
        }      
    });
}
然后在ajax.php文件中,将其设置为检查分钟值

<?php
    $minutes = $_GET["minutes"];

    if (isset($minutes)) deQueue();

    public function deQueue(){
            if (!$this->isEmpty()) {
                $this->front = ($this->front+1) %5;
                $this->size--;
            }else{
                echo "The Counter is empty! <br>";
            }
        }
?>

添加ajax标记的原因是什么?