在php中手动创建一个HTTP Response对象,发送,用Javascript捕获

Posted

技术标签:

【中文标题】在php中手动创建一个HTTP Response对象,发送,用Javascript捕获【英文标题】:Manually create an HTTP Response object in php, send it, and capture it with Javascript 【发布时间】:2011-12-13 23:44:31 【问题描述】:

是否可以在 php 中创建一个 HTTP 响应对象,将其发送到客户端,然后使用 javascript 读取响应?

提前谢谢你。

【问题讨论】:

“HTTP 响应对象”是什么意思? 不确定你的意思。你想做什么? 我想做的是将数据从 Web 服务器发送到 Web 浏览器,而无需浏览器最初使用 HTTP 请求启动连接。想象一下网络服务器上的数据发生了变化,我想通知一组客户这个变化。希望现在更清楚我想要实现的目标:) 【参考方案1】:

没有。 HttpResponse object 是一个红鲱鱼;它是未与 PHP 捆绑的扩展的一部分,几乎从未使用过。

PHP 脚本通常由 Web 服务器在 HTTP 请求的上下文中运行,此时脚本生成的任何输出都将成为 Web 服务器发回的 HTTP 响应的一部分。如果没有相应的请求,就无法生成 HTTP 响应。

【讨论】:

【参考方案2】:

我不确定您要做什么,但我认为您正在寻找服务器发送事件。

http://dev.w3.org/html5/eventsource/

【讨论】:

是的,服务器发送事件正是我所需要的。我也可以使用 WebSockets (dev.w3.org/html5/websockets) 但是,这些 API 尚未得到广泛支持。此外,它们不适用于旧浏览器。如何实现一个也适用于旧浏览器的跨浏览器解决方案? 您可以使用其中一种 polyfills 来实现该功能,例如 github.com/Yaffle/EventSource - 模拟 IE8+ 下的 EventSource

以上是关于在php中手动创建一个HTTP Response对象,发送,用Javascript捕获的主要内容,如果未能解决你的问题,请参考以下文章

php中curl怎么处理得到的response有样式代码

Windows手动搭建PHP运行环境

wordpress 手动创建wp-config.php 文件始终不行

Go Http包解析:为什么需要response.Body.Close()

flask基础之Response响应对象

php实现websocket实时消息推送