【问题标题】:POST and GET methodsPOST 和 GET 方法
【发布时间】:2011-10-30 20:11:18
【问题描述】:

我想将数据从一个网页传输到另一个页面。但我不想使用<form method="post"> 标签,因为我的网页中没有表单。只有一些敏感数据需要转移到其他页面。

请回答以下问题:

  1. 有哪些方法可以将数据从一个页面传输到另一个页面?
  2. 在不使用 HTML 中的<form> 标签的情况下,有哪些方法可以将数据从一个页面传输到另一个页面?
  3. 另一个 PHP(或 ASP)页面如何读取另一个页面发送给它的数据?

【问题讨论】:

  • 将 $.post([myData]) w/ 或 w/o ajax 解决您的问题吗? (jquery)
  • @Ismael:我认为它会解决我的问题。但为此,我需要触发将发送数据的 javascript 函数。但是在我的网页中,从数据库中查询数据后,我想将其发送到下一个网页。
  • 鉴于数据是“敏感的”(这是一个主观术语),也许它应该保存在服务器端并通过会话/数据库/等传输?
  • David - 数据由网站用户生成。
  • @iSumitG 我认为没有触发某些东西或做一些插件调整的简单方法。无论如何,这样做没有“完美的方式”。做一个看不见的
    并不是一种罪过,没有人会把你赶走。无论如何,这就是 HTML 世界的运作方式..

标签: php javascript asp.net html


【解决方案1】:

我不想使用<form method="post"> 标签,因为我的网页中没有表单

这不是避免使用表单的好理由。您可以添加一个。

将数据从一个页面传输到另一个页面的方法有哪些?

  1. 通过 URI(在查询字符串中)
  2. 作为请求正文的一部分(POST 请求)
  3. 通过cookies(可以用JS设置)
  4. 通过各种local storage systems

如果数据需要可收藏,请使用查询字符串。如果它在服务器上进行更改(例如添加或编辑数据库条目),请使用 POST 请求(带有表单)。如果数据需要在整个站点中持久存在,请使用 cookie(最好在使用方法 1 或 2 后通过 HTTP 设置)。为需要离线运行的 Web 应用程序使用本地存储。

在不使用 HTML 标签的情况下,有哪些方法可以将数据从一个页面传输到另一个页面?

同上,但对 post 请求打折扣(除非您使用 JavaScript 和 XMLHttpRequest 进行)。

另一个 PHP(或 ASP)页面如何读取另一个页面发送给它的数据?

对于本地存储,它不能。所有其他数据都可以通过服务器环境获得(例如,PHP 中的$_POST$_GET$_COOKIE)。

【讨论】:

  • Cookie 不能在不同域之间共享,虽然正确?
  • @iSumitG — 在某些有限的情况下它会,但不应依赖它们。提交按钮没有任何问题,您可以设置它们的样式(尽管让它们看起来不是按钮并不是一个好主意)。
  • @NeilMonday — 正确,但未明确要求跨域。
  • @Quentin:感谢您的帮助。我正在从用户那里获取付款信息​​。使用POST 方法将数据发送到另一个PHP 页面。这个 PHP 页面会将数据插入数据库(如 order_details、送货地址等)并生成一个order_id,然后它将重定向到另一个页面(比如订单确认页面),该页面将显示消息“订单已确认。您的订单编号为:1234"。现在我的问题是如何将 order_id 从 PHP 页面转移到订单确认页面。由于PHP是一种中间处理页面,所以里面没有<form>
  • 查询字符串是放置它的合理位置(在进行 HTTP 重定向时将其设置在 Location 标头中)。只需确保确认页面检查订单 ID 属于下订单的客户即可。
【解决方案2】:

1.) EasyXDM 使用 postMessage(如果可用)、哈希标签或闪存

2.) 与 1 相同

3.) 你可以再次使用 EasyXDM

如果您使用 window.open 或类似文件或 iframe 打开其他页面

【讨论】:

    【解决方案3】:
    1. 您可以使用隐藏输入,即<input name="secret" type="hidden" value="superSecretData" />

    2. 您可以创建一个包含数据的随机元素,即<div style="display: none">SuperSecretData</div>

    3a。对于 php 中的前者,只需访问 $_POST['secret']

    3b。在后者的情况下,您需要使用类似的 javascript 来获取随机元素并将其与页面一起发送。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2012-12-08
      • 2015-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      • 2017-10-05
      • 2019-12-01
      • 2011-05-13
      相关资源
      最近更新 更多