将先前 HTTP 请求中的值用于 ajax 请求的更好做法是什么?

What is the better practice to use values from previous HTTP request for ajax request?

假设我有 第 1 页,用户输入了一些用于选择数据的选项。 数据被传递到 第 2 页 ,它使用来自 ajax 请求的数据绘制图表。

我只是想知道在第 2 页使用 第 1 页 中的值的更好做法是什么。我可以想出 3 种方法

  1. 在隐藏字段中存储值,javascript使用ajax
  2. 的隐藏字段值
  3. 在javascript中嵌入服务器端脚本标签,用于获取请求参数,例如var data1 = <?php echo $_GET['data1']?>
  4. 在服务器端生成页面 2 所需的 javascript。

最佳做法取决于您的需要。您的方法有效,并且可能最适合小型、快速的表单,但加载失败、超时、脚本错误和崩溃等问题可能会破坏会话。我会使用服务器端数据库。

将第 1 页信息临时存储在服务器数据库中的优点是,如果用户退出会话,您仍然可以拥有有用的信息(电子邮件、地址等)。如果人们不得不退出会话,这种方法还可以让他们从中断的地方继续。使用此方法,您无需依赖易失性内存或不安全的 cookie 来存储信息。

  1. 使用 POST 在第 1 页提交表单。
  2. 使用唯一的会话密钥将所有表单变量存储在服务器数据库中。
  3. 第 2 页使用唯一会话密钥在查询中加载存储的第 1 页变量。
  4. 提交包含唯一会话密钥的第 2 页。
  5. 合并第1页和第2页数据,永久插入数据库,然后删除临时第1页记录。

如果用户不提交第2页,则定期从数据库中删除第1页的信息。