Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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
如何使用javascript在会话中传递当前url_Javascript_Php_Jquery_Session_Parameter Passing - Fatal编程技术网

如何使用javascript在会话中传递当前url

如何使用javascript在会话中传递当前url,javascript,php,jquery,session,parameter-passing,Javascript,Php,Jquery,Session,Parameter Passing,我有一个按钮,我想当我点击它时,当前的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

我有一个按钮,我想当我点击它时,当前的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');
}
//pageA.php
$(“.btn”)。单击(函数(e){
var url=window.location.href;
//如何在会话中传递url?
});
//pageB.php
如果(isset($\u会话['url'])){
$previous_url=$_SESSION['url'];
标题('Location:$previous_url');
}

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

您不能直接这样做,因为
PHP
服务器端
JavaScript
客户端
,它们根本无法“看到”彼此


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

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

JS:

$(".btn").click(function(e) {
    var url = window.location.href;
    $.post('pageA.php', {url : url});
}
$_SESSION['url'] = $_POST['url'];
在您的服务器上,您需要接收帖子中发送的url,如下所示:

PHP:

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

希望这有帮助。

您无法从PHP外部访问
$\u会话
,但您可以设置第三个脚本,并向其发出post请求,以便在会话中使用此url。但这可能不是一种好的风格。