使用ajax将会话cookie从javascript传递到php


Pass session cookies from javascript to php using ajax

我想从javascript传递会话变量。Javascript本身是从PHP 生成的问题

echo "<script>"
."if(confirm('Evaluation is already exist! Do you want to update evaluation?'))
  {
    //Here I want to add : $_SESSION['confirmed']=1; so I can proceed to save process
    alert('Evaluation Saved!);
  }
  else
  {
     alert('Evaluation Cancelled!);
  }"
    ."</script>";

我怎样才能做到这一点?提前谢谢。

如果您正在讨论进行ajax调用并在标头中传递会话cookie,那么您不需要手动执行此操作,因为对同一域进行的所有ajax调用都应该已经具有所有相应的cookie。

但是,如果您从不同的域进行ajax调用,那么它就不会有会话cookie。由于AJAX调用仅在您调用的url与调用脚本位于同一域时才发送cookie。

使用Ajax存储会话变量

echo "<script>"
."if(confirm('Evaluation is already exist! Do you want to update evaluation?'))
  {
    $.post( '/setsessionvariable.php', function(){
      alert('Evaluation Saved!);
    });
  }
  else
  {
     alert('Evaluation Cancelled!);
  }"
    ."</script>";

和在setsessionvariable.php文件中

session_start();
$_SESSION['confirmed'] = 1;

有一件事我应该说。您无法使用java脚本创建SESSION。因为SESSION将在服务器端运行。js将在前端(浏览器)运行。或者使用AJAX来传递变量。试试这个代码来解决你的问题。

   <?php
session_start();
$confirmed=1;
if($confirmed==1){
    $_SESSION['confirmed']=1;
    echo "<script> alert('Evaluation Saved!'); </script>";
  }
  else
  {
session_destroy();// to destory existing session
     echo "<script> alert('Evaluation Cancelled!'); </script>";
  }
?>