【问题标题】:How to pass current url in the session using javascript如何使用 javascript 在会话中传递当前 url
【发布时间】:2015-12-11 01:11:46
【问题描述】:

我有一个按钮,我希望当我点击它时,当前的 url 会传递给会话。像这样:

$(".btn").click(function(e) {
     var url = window.location.href;
     // how to pass url in the session ?
});

其实这是我的结构:

// pageA.php
<input class="btn" value="set current url to session" />

<script>
   $(".btn").click(function(e) {
     var url = window.location.href;
     // how to pass url in the session ?
  });
</script>


// pageB.php
if (isset($_SESSION['url'])){
    $previous_url = $_SESSION['url'];
    header('Location: $previous_url');
}

现在我想知道如何在 php 会话中传递 javascript 变量?或者换句话说,如何在$_SESSION['url'] 中设置var url = window.location.href;

【问题讨论】:

  • 您无法从 PHP 外部访问 $_SESSION,但您可以设置第三个脚本并向其发出 post 请求以在会话中包含此 url。不过这可能不是很好的风格。

标签: javascript php jquery session parameter-passing


【解决方案1】:

要将 Javascript 值发送到 PHP,您需要使用 AJAX。

JS:

$(".btn").click(function(e) {
    var url = window.location.href;
    $.post('pageA.php', {url : url});
}

在您的服务器上,您需要接收在帖子中发送的网址,如下所示:

PHP:

$_SESSION['url'] = $_POST['url'];

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您不能直接这样做,因为 PHPserver-sideJavaScriptclient-side,它们根本无法“看到”彼此。

    你可以例如。使用Ajax(例如jQuery.ajax() 方法)将您的变量(url)传递给PHP,然后像任何其他用户数据一样将其保存在您的会话中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-17
      • 2014-06-25
      • 2023-02-17
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      相关资源
      最近更新 更多