首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Jquery将资源对象传递给PHP?

从Jquery将资源对象传递给PHP?
EN

Stack Overflow用户
提问于 2011-03-25 13:01:44
回答 3查看 556关注 0票数 1

我试图使用Jquery传递一个imap_conection (PHP )。帖子似乎不管用--还有什么我应该试试的吗?

代码语言:javascript
复制
$connection = imap_open($mailServer,$login,$password);

jQuery

代码语言: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: "search.php",
    data: dataString,

现在,Firebug告诉我$_POST‘’connection‘变量是Resource id #57

编辑以添加

主要议题

我正在使用PHP imap库连接到Imap电子邮件地址。当我尝试多次使用ajax重新连接(执行多个关键字搜索)时,我倾向于失去与某些电子邮件提供商(主要是Hotmail)的连接,所以我试图集中一个连接,这样就不会失去连接--这就是为什么我想要一个连接资源并传递连接。还有别的解决办法吗?

我使用多个ajax调用/imap连接的原因是我希望尽可能快地将数据提供给用户。这种搜索通常需要8-10秒。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-25 13:09:08

$connection是一种特殊的php“类型”,称为资源。它们由mysql_connectfopenimap_open等函数创建,并表示底层C库中的某种状态。这些资源仅在页执行期间有效。一旦PHP完成页面的执行,资源就会被释放。这是问题的第一部分。

第二部分是,当您打印一个资源时,它被转换为一个字符串。此字符串表示形式已失去资源的基础状态,无法转换回资源。因此,没有办法做你想做的事。

您需要做的是在search.php中重新建立到imap服务器的连接,并从ajax调用.中删除连接参数。

票数 4
EN

Stack Overflow用户

发布于 2011-03-25 13:06:06

这是因为您不应该将&connection=<?php echo $connection ;?>包含到您的URL中,因为它是一个资源,当您试图将它回显到javascript中时,它会被转换为一个字符串:Resource id #57。不能使用JavaScript传递PHP资源。

票数 1
EN

Stack Overflow用户

发布于 2011-03-25 13:13:11

这里有两个主要问题:

  1. 当您试图回显资源对象时,您将调用它的__toString()方法。这通常会打印出对对象的非常通用的描述,正如您在这里所看到的。转换对象以传递到其他地方的正确方法是使用serialize()函数。请看文档。
  2. 即使您尝试过序列化它,它也会失败。资源对象非常依赖于状态,因此不能像这样传递.它可以在打开它的脚本中使用,仅此而已。有关更多信息,请参阅上面的文档。

作为额外的奖励:

您不能逃避dataString中的任何值,如果其中包含?&,则很容易导致对值的误解。您应该对正在形成的每个值运行escape,或者执行如下操作:

代码语言:javascript
复制
var data = {
  username: '<?php echo $username ?>',
  password: '<?php echo $password ?>'
};

$.ajax({
  type: "POST",
  url: "search.php",
  data: data,
  ...
});

jQuery将接受对象并为您形成数据字符串,并进行适当的转义。更容易阅读,更容易放在一起,更不容易犯错误。

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

https://stackoverflow.com/questions/5432747

复制
相关文章

相似问题

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