javascript - 在浏览器中运行的 JavaScript 可以访问发布到其页面的值吗?

标签 javascript browser http-post http-post-vars

Possible Duplicate:
How to read the post request parameters using javascript

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

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

页面 B 中运行的 JavaScript 能否访问从页面 A 发布的输入字段值?

<小时/>

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

此限制的原因是生产中的 Page-B 要求字段名称与特定形式匹配。但是,在测试期间,Page-B 必须由不同的平台交付,该平台支持生产服务器所需的字段名称格式。由于许可和其他限制,我们无法使用与生产相同的平台。我们可能可以启动另一台服务器来提供 Page-B 测试页面,但这需要大量工作,我们希望避免这样做。

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

最佳答案

简短的回答是否定的。

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

一旦服务器响应被渲染出来,这些 HTTP 请求 header 就会丢失。

有几种解决方案可以解决您的问题:

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

希望这有帮助!

关于javascript - 在浏览器中运行的 JavaScript 可以访问发布到其页面的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14508061/

相关文章:

android - 如何从android向服务器发送数据

javascript - 使无框架的 React/Electron 应用程序标题栏在滚动期间不消失

javascript - Google 折线图添加对象数组

javascript - 在特定图层上设置事件监听器(谷歌​​ map )

javascript - 如何使用 Javascript 从输入字段中获取值?

javascript - Web 浏览器如何决定从服务器接收的文件的入口点?

css - 不同图像扩展名(jpg、png)的浏览器加载速度是否存在差异?

javascript - 未捕获的类型错误 : Cannot read property 'document' of undefined

asp.net-mvc - 当我从 ASP.NET MVC 项目上的 jquery $.ajax 调用返回 "Internal Server Error"时,出了什么问题?

angularjs - 如何处理来自$ sce.trustAsResourceUrl的错误