首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不结束php脚本的情况下显示ajax结果?Jquery - PHP

如何在不结束php脚本的情况下显示ajax结果?Jquery - PHP
EN

Stack Overflow用户
提问于 2011-03-25 10:42:16
回答 1查看 467关注 0票数 1

我使用PHP Imap库和Ajax来显示电子邮件中的搜索结果。我发现的主要问题是,提供商(特别是Hotmail)会在接近6到7次连接后切断连接。

我希望连接一次,然后使用ajax连续显示信息,而不是在每个脚本中使用imap_connect()。我只是不知道该怎么做。问题是我需要通过ajax输出数据。有没有办法在不通过jquery结束PHP程序的情况下返回信息?

如果我将imap连接变量$connection传递给php查询,而不是调用它,但不确定如何传递它,我也可以这样做。下面是我目前传递变量的方式。

代码语言:javascript
复制
    var dataString='email=<?php echo $email_address; ?>&connection=<?php echo $connection; ?>&password=<?php echo $password; ?>&server=<?php echo $server;?>&daysago='+daysago+'&num='+num;
    $.ajax({
       type: "POST",
    url: "fastsearch.php",
    data: dataString,
    success: function(msg){

链接到Imap Connect (和通用php imap库):http://php.net/manual/en/function.imap-open.php

EN

回答 1

Stack Overflow用户

发布于 2011-03-25 10:48:32

我以前用PHP和jQuery做过“套接字模拟”编程,这是一种基于COMET的方法来保持长连接。

对于易于安装和使用的Socket.io库来说,这真的是一个闪亮的例子,说明了Node.js对web应用程序开发是有利的。

抛开Node.js不谈,你还有一些选择,比如创建一个进程来保持连接的活力和持久性,而不是在每次有人登录时都进行实时连接(使用像celery这样的异步任务管理器),以及使用COMET方法,这基本上是一个无限的while循环,它不断地将数据输出到客户端。后者将保持单个连接打开,但也会非常不稳定,性能不佳,并且使用错误的PHP工具来完成此任务。

我强烈建议您重新考虑针对此特定任务的PHP依赖项,转而使用专为此特定服务器推送/持久性设计的库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5427994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档