Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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
如何在HTML中访问/包含经过评估的PHP脚本?_Php_Ajax_Web Services - Fatal编程技术网

如何在HTML中访问/包含经过评估的PHP脚本?

如何在HTML中访问/包含经过评估的PHP脚本?,php,ajax,web-services,Php,Ajax,Web Services,我正在使用nusoap创建一个Web服务,它将命令从远程控制客户端发送到服务器,在服务器上对这些命令进行评估。现在,我需要通过另一个客户端访问从webservice函数计算的数据。 目前,我正试图通过AJAX实现这一点。我认为我需要将Web服务与处理AJAX的脚本分离,但是如何从Web服务访问数据呢?我尝试了会话变量,但它不起作用。下面是我的代码示例: 阿贾克斯 WS函数 我还尝试将webservice直接放入index.php中,但nusoap不喜欢在文件错误结束时添加额外内容。 这里还有另一

我正在使用nusoap创建一个Web服务,它将命令从远程控制客户端发送到服务器,在服务器上对这些命令进行评估。现在,我需要通过另一个客户端访问从webservice函数计算的数据。 目前,我正试图通过AJAX实现这一点。我认为我需要将Web服务与处理AJAX的脚本分离,但是如何从Web服务访问数据呢?我尝试了会话变量,但它不起作用。下面是我的代码示例:

阿贾克斯

WS函数

我还尝试将webservice直接放入index.php中,但nusoap不喜欢在文件错误结束时添加额外内容。
这里还有另一个完全不同的最佳实践吗?

您能展示ajax请求的代码吗?现在,我需要访问另一个客户端从webservice函数计算出的数据。请解释你所说的另一个客户端是什么意思,这很重要AJAX工作正常。对于另一个客户端,我的意思是远程控制是一个运行在智能手机上的HTML文件,它通过调用webservice功能的AJAX向服务器发送命令。在桌面第二客户端上,运行幻灯片放映,通过AJAX使用长轮询检查是否有任何命令通过Web服务发送。希望这足够清楚:是的,这更清楚。它还解释了代码失败的原因—会话数据对于每个客户端都是唯一的,一个客户端无法访问其他客户端的数据。您需要的是某种共享持久存储,即数据库sql、nosql或简单键值存储。或者,如果这只是一个概念证明,您甚至可以在服务器上写入一个简单的文本文件,但我认为我使用了一个Web服务,即Web服务脚本和长轮询脚本在同一台服务器上运行,从而取消了这两个客户机的着色。
if(isset($_POST['source'])){
if(isset($_SESSION['commandResult'])){
    unset($_SESSION['commandResult']);
}
    while(!isset($_SESSION['commandResult'])){
        session_write_close();
        usleep(2000000); //wait 2 seconds
        session_start();
        if(isset($_SESSION['commandResult'] && $_SESSION['commandResult']!= "ready")){
            echo $_SESSION['commandResult'];
            break;
        }
    }
}
function executeCommand($command) {
session_start();
$_SESSION['commandResult'] = "ready";
if($command=="resume"){
    $_SESSION['commandResult'] = "resume";
}

else if($command=="pause"){
    $_SESSION['commandResult'] = "pause";
}
else {
    $_SESSION['commandResult'] = $command;
}
return $_SESSION['commandResult'];
session_write_close();
}