JavaScript:在JavaScript中设置PHP会话,session的变量是JavaScript

时间:2017-02-19 15:48:16

标签: javascript php session

有没有办法在JavaScript中设置PHP会话,会话的变量来自JavaScript变量。

这是我的代码:

<script type="text/javascript">
function save_chart(chart, filename) {

var data = canvas.toDataURL("image/png")
        download(data, filename + '.png');
}
<?php 
    session_start();
    $_SESSION['image'] = "<script>document.write(data)</script>"?>, 
    window.open("/cert/forms/contents/reports/incidents/chart-img.php", "", "width=800,height=800")

</script> 

我希望将var数据设置为PHP SESSION。有没有办法做到这一点?

或者任何其他方式,但只能在PHP中使用$_POST['image']$_SESSION['image']将变量转换为其他页面。

1 个答案:

答案 0 :(得分:0)

PHP会话数据保存在服务器端。因此,不可能直接从JavaScript访问它们。但是,如果您可以:

  1. 创建一个服务器端API,该API将通过JavaScript发送的AJAX请求接收数据并将其保存到会话变量中。或者

  2. 如果您只想在客户端保存持久数据,则可以使用JavaScript中任何可用的客户端存储API。

客户端存储API

  • The Cache API:这不是正常的HTTP缓存。缓存API是一个JavaScript接口,允许开发人员以编程方式在客户端上以比HTTP缓存头所提供的功能更高级的功能存储文件。
  • localStoragesessionStorage API提供了一种以键值对形式保存数据的简便方法。 (但是,不应将其用于存储大文件。请阅读文档以了解有关其局限性的更多信息)
  • The indexedDB API,这是目前在客户端上存储和处理大量数据的最先进方法,它使您可以对该数据执行基于索引的高性能查询。