Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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
需要php ajax的指导吗_Php_Jquery_Ajax - Fatal编程技术网

需要php ajax的指导吗

需要php ajax的指导吗,php,jquery,ajax,Php,Jquery,Ajax,我需要PHP Ajax方面的指导 我想开发像Gmail这样的功能 现在我们开始 我有两页,第一页是登录,第二页是显示 一旦登录,用户将重定向到显示页面,在那个里他可以看到其他用户发送的消息 现在,我想实现ajax,就像当用户向其他用户发送消息时,其他用户立即通知他/她收到了消息,并且还需要将消息附加到他们的邮箱中 我知道我可以用setInterval来做,但有没有其他方法,因为setInterval可能是5秒或10秒,但我想在其他用户向他发送消息时触发它 我在和Gmail的表格中看到了这个 提前

我需要PHP Ajax方面的指导

我想开发像Gmail这样的功能

现在我们开始

我有两页,第一页是登录,第二页是显示

一旦登录,用户将重定向到显示页面,在那个里他可以看到其他用户发送的消息

现在,我想实现ajax,就像当用户向其他用户发送消息时,其他用户立即通知他/她收到了消息,并且还需要将消息附加到他们的邮箱中

我知道我可以用setInterval来做,但有没有其他方法,因为setInterval可能是5秒或10秒,但我想在其他用户向他发送消息时触发它

我在和Gmail的表格中看到了这个


提前感谢。

如果你想构建“类似gmail的东西”,你需要对以下内容和一些javascript技能进行大量研究。这是您将使用的唯一语言

Node.js-一个后端服务器,可以使用套接字提供实时 对浏览器的更新。 Backbone.js-构建单个页面的半结构化方式 像gmail这样的应用程序
我还将Require.js包含到该列表中,该列表基本上用于异步加载所有主干javascript文件。它有助于保持应用程序的文件结构的可维护性。

我注意到您在注释即时响应功能中声明。您应该了解长轮询,理解它,然后选择适合工作的正确语言、技术和体系结构

在web/AJAX环境中,长轮询也称为Comet编程


PHP AJAX-PHP是服务器端,JavaScript是客户端。不要混淆它们,否则你会被搞砸的:

Ajax是一种浏览器端技术。它无法在浏览器不请求的情况下从服务器接收消息。如果您想使用Ajax实现这一点,那么需要让它定期ping服务器,使用与建议使用setTimeout或类似的解决方案类似的解决方案

事实上,Ajax对于这类事情是一个错误的术语。您需要搜索的术语实际上称为Comet。您可以在此处阅读更多信息:

Comet是服务器推送到浏览器技术的总括术语。您的解决方案是Comet的许多可能实现之一,尽管它在带宽方面不是特别有效。上面链接的wiki页面列出了许多实现目标的其他可能方式,您可能需要对此进行调查。但在谷歌上搜索“Comet”而不是“Ajax”肯定会对你的研究有所帮助


希望能有帮助。

我想建立一个类似gmail的功能。-哈哈。有了这样的问题,你不会做任何事情,即使距离设置间隔很遥远也是一个选项,但是如果你有很多人使用它,它可能会对服务器造成很大的负担。您将如何存储您的消息?您可以研究如何使用JSON文件。@sam yah我正在使用JSON和加载现在不是问题,我想在用户收到带有response append to messages的响应时立即通知他。这与gmail不完全一样,我刚才举了一个例子,说明他们有此即时响应功能。节点和主干网也与jQuery兼容。您不需要在节点上使用jQuery,因为服务器端不需要DOM操作,但主干网完全支持它。这实际上是需要的。我在回答中概述的内容需要一些时间来适应,但如果您真的想构建一个健壮的应用程序,而不必太担心可伸缩性问题,这可能是最“经得起未来考验”的方法。查看更多信息。它基本上允许您将消息从服务器实时发送到浏览器。如果它是一个旧的浏览器,那么它将退回到轮询,这类似于其他答案中提到的Comet。