Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.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 jQuery将数据发送到php文件,然后再返回_Javascript_Php_Jquery_Client - Fatal编程技术网

Javascript jQuery将数据发送到php文件,然后再返回

Javascript jQuery将数据发送到php文件,然后再返回,javascript,php,jquery,client,Javascript,Php,Jquery,Client,我在将数据发送到php文件然后再返回(使用jQuery)时遇到问题 我知道$.post->.done功能 我的jQuery看起来像: $.post("client.php", { request: request }) .done(function( data ) { $("#requestdiv").html(data); }); 当client.php连接到服务器时,服务器会向客户端返回一个唯一的编号(1)。 在此之后(这就是问题所在),只要另一个客户端提交请求或

我在将数据发送到php文件然后再返回(使用jQuery)时遇到问题

我知道
$.post
->
.done
功能

我的jQuery看起来像:

$.post("client.php", { 
    request: request 
})
 .done(function( data ) {
     $("#requestdiv").html(data);
 });
当client.php连接到服务器时,服务器会向客户端返回一个唯一的编号(1)。 在此之后(这就是问题所在),只要另一个客户端提交请求或服务器关闭连接,
client.php
文件就会加载

但是客户机1需要唯一的号码。因为来自客户端1的人告诉来自客户端2的人唯一的号码(通过口碑),客户端2向服务器提交唯一的号码。在此之后,服务器应答client1和client2,关闭连接,文件完成加载

post
client.php
工作正常。我的问题是,尽管文件没有完成加载(因为客户机-服务器连接仍然打开),但如何接收数据

谢谢你的帮助

更新:

client.php
中的
read()
方法

    while ($data = socket_read($this->m_sock, $length, PHP_NORMAL_READ)) {
       if ($data) {
          if (strpos($data, "\n", $start) != false) {
            $end = strpos($data, "\n", $start);
            $result = substr($data, $start, $end);
            $this->onCommandLine($result);
          }
      } else {
          break;
      }
    }

只要服务器关闭连接,就会加载此方法。因此,jQuery不会在
数据中得到结果。事务完成后,服务器将关闭连接。

能否发布client.php代码?更新了我的问题;)我真的不知道是否有更好的方法,但我会做的是发送带有所需数据的第一个请求并关闭。PHP将在服务器端进行处理,然后将结果(json?)存储在任何位置(例如,临时txt)。然后在一个时间间隔内发送一个新请求,直到获得临时数据。在这个时间间隔内,您的意思是检查所有(例如)10秒是否存在临时txt?我还可以做一个数据库。