【问题标题】:Passing a PHP variable to another page via jQuery通过 jQuery 将 PHP 变量传递到另一个页面
【发布时间】:2011-06-13 12:27:16
【问题描述】:

编辑:我可以用更短的方式提出这个问题,也许更关注真正的问题:

有没有办法让 PHP 套接字在多个页面上保持活跃?也就是说,我可以以任何方式存储连接(套接字对象)吗?

我想在两个 PHP 页面之间保存一个套接字连接,其中另一个页面是通过 jQuery ajax 加载的。我在会话中进行了尝试,到目前为止在我的主页上得到了这个:

$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$res = socket_connect($sock, $host, $port);
session_start();
$_SESSION['sock'] = $sock;  

然后我用 jQuery 加载一个页面:

$("#" + in_name + "_holder").load("set_setpoint.php", {name:in_name, value:in_value});

在 set_setpoints.php 中:

session_start();     
require_once("sock_funcs.php");    
echo $_SESSION['sock'];

我只得到'0',但我应该得到类似“Resource id #xxx”的东西。也许会话是错误的方式?

【问题讨论】:

    标签: php jquery


    【解决方案1】:

    您不能在页面之间传递资源。

    见 PHP pfsockopen in a session

    【讨论】:

    • 所以你的意思是每次加载其他页面时我都需要建立一个新的tcp连接?我是 php 的新手,但似乎不太可能
    【解决方案2】:

    您为什么不使用 COOKIE 来保存您的价值,然后在您想要的任何地方使用 CLIENT 访问。

    1

    $_COOKIE["socketNo"] = "somevalue";

    像这样访问它

    $_COOKIE["socketNo"];

    确保 cookie 可访问。

    2

    您可以将数据作为查询字符串传递给用于 AJAX 调用的 URL,并在您的脚本中检索它。

    $("#" + in_name + "_holder").load("set_setpoint.php?socketNo=", {name:in_name, value:in_value});

    在 set_setpoints.php 中

    $sock = $_GET["socketNo"];

    【讨论】:

    • 你有这个工作吗?对我来说,它不适用于资源,只有字符串
    【解决方案3】:

    您可以使用 GET 或 POST 来传递内容,也可以设置一个 cookied 编码并在两个应用程序之间共享内容。

    【讨论】:

      【解决方案4】:

      试试 $.get();在 jquery 中,,,

      对于你的问题 $.get() 或 $.post();

      如果你使用 $.get();那么你可以理解这个参数是如何运行的,如果有任何疑问问我老兄..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多