我在将数据发送到 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
toclient.php
工作正常。我的问题是尽管文件没有完成加载(因为客户端 - 服务器连接仍然打开),但我如何接收数据?
谢谢帮忙。。
更新:
read()
方法来自client.php
。
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 在data
. 事务完成后服务器关闭连接。