【问题标题】:Php, Jquery - Post variable to other page with leaving the pagePhp,Jquery - 将变量发布到其他页面并离开页面
【发布时间】:2013-02-25 18:13:10
【问题描述】:

我正在处理一个复杂的项目,该项目需要在页面之间进行良好的变量发布,而无需发布或获取。我是用 get 完成的,在此之前我在 php 中使用过 post,但后来我开始使用 jquery,它有更好的方法来做事。我知道如何在不离开页面的情况下在两个页面之间传递变量:

visible    function blahblah (id){
    $.ajax({
    type: "POST",
    url: "blahblah.php",
    data: $(id).serialize(),
    success: function(data){
    $('#results').html(data);
    }
    });
    }

我总是在 div 中显示结果,但我想要实现的结果不同。我需要传递一个变量 WITH 离开页面,但不使用 php post 或 get。我确实搜索过,但没有成功。如果可能的话,你能帮我解决这个问题吗?感谢您的帮助。

【问题讨论】:

  • 为什么不使用 GET/POST html 表单?
  • 您可以在离开页面之前使用一个小的.post() 并保存到SESSION 变量,以便稍后在另一个页面上检索。您还可以使用一个小的.post() 在离开页面之前 并将所述变量保存在数据库中以供以后检索。 --
  • get/post 是您在页面之间传递数据的唯一方式,除非您想在 javascript 中设置/读取 cookie。
  • 你可以使用 localStorage localStorage
  • 为了理解您的目标,我们需要知道为什么 GET/POST 表单不是解决方案。是需要向服务器发送数据,还是只在浏览器的页面之间维护?

标签: php jquery ajax post


【解决方案1】:

如果您担心失去“返回”功能,我认为这是因为当您返回已发布数据的页面时会出现烦人的警告?为了解决这个问题,您可以尝试(正如其他人所说):

  1. 将表单正常发布到页面
  2. 将变量保存在 $_SESSION[]

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

  3. 更改页眉刷新页面:

    header('位置:' . $_SEVER['SCRIPT_NAME']); 退出;

这样,没有人会看到您通过 GET 发布的内容,并且您可以避免烦人的“重新提交您发布的变量”消息。

【讨论】:

  • 这是最好的方法。再次感谢您和其他人。
【解决方案2】:

我不确定,如果我完全正确地回答了你的问题..我想你想:

  1. 使用 POST/GET 将数据发送到页面
  2. 重定向到另一个页面。为此使用标题功能。

但是,当你说你不想使用 POST/GET 时,我真的很困惑!那你怎么能和你的服务器通信呢?将所有内容设置为会话,永远不是一个好的解决方案。

【讨论】:

  • 我不想失去返回浏览器功能,但我不想在get中向用户显示变量内容。我认为会话不是最好的方法,但如果它不能用 ajax/jquery 解决,那么我认为这是我唯一的方法。
猜你喜欢
  • 1970-01-01
  • 2013-03-30
  • 1970-01-01
  • 1970-01-01
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
相关资源
最近更新 更多