0

可能重复:
如何使用 javascript 读取发布请求参数

想象一下在不同的网络服务器上运行的两个网页。

  • Page-A:有一个 <form method="POST" action="http://server-b/page-b" >
  • Page-B:处理从 Page-A 提交的表单

在 Page-B 中运行的 JavaScript 可以访问从 Page-A 发布的输入字段值吗?


一个重要的限制是传递 Page-B 的服务器不能将 POST 的值替换为 Page-B。所以 JavaScript 只能通过 DOM 或其他浏览器 API 来查找。

这个约束的原因是生产中的Page-B要求字段名称匹配某种形式。但是,在测试期间,Page-B 必须由不同的平台交付,该平台支持 生产服务器所需的字段名称格式。由于许可和其他限制,我们不能使用与生产相同的平台。我们可能启动另一台服务器来为 Page-B 测试页面提供服务,但这是很多工作,我们想避免它。

请不要给出特定于平台(PHP、Ruby 等)的答案。所涉及的系统(基本上)是专有的。

4

2 回答 2

2

最简洁的答案是不。

POSTed 参数是服务器处理的 HTTP 请求的一部分,是浏览器(在进行发布的页面上)与服务器之间的直接通信。

一旦呈现出服务器响应,这些 HTTP 请求标头就会丢失。

您的问题有几个解决方案:

  1. 让页面 A 以 cookie 或其他形式记住 POST 的值。
  2. 让服务器将 POST 的值呈现为 JavaScript 变量,或者可能是隐藏的 FORM 字段。
  3. 使用 GET 而不是 POST,因为这些值可以直接从 URL 中读取。

希望这可以帮助!

于 2013-01-24T18:24:13.850 回答
1

简短的回答是否定的。浏览器只知道页面 B 的内容,而不是访问它的请求。

如果页面 B 不能包含发布给它的值,那么该页面上的 JavaScript 获取这些值的唯一方法将是一些完全其他的路线,例如。通过让服务器记录它们,然后让页面 B 通过 AJAX 请求或同样复杂和脆弱的东西询问服务器。保持所有这些同步可能很困难。

于 2013-01-24T18:23:59.700 回答