搜索

首页  >  问答  >  正文

如何在 GET 方法的 HTML 形式中设置授权标头

<p>我想向服务器提交一个 HTML 表单,该服务器接受 <code>queryString</code> 中的表单数据以及授权标头。然后,服务器在对数据和授权标头执行一些计算后发回 HTML 文档。</p> <h1>限制</h1> <ol> <li>我无法使用 AJAX 或 fetch 等 JavaScript 功能,因为表单提交会获取需要在浏览器上打开的 HTML 响应。</li> <li>由于内部原因,该表单还需要采用 <code>GET</code> 方法。</li> </ol> <h1>响应</h1> <p>收到的响应是一个 HTML 文档,其中包含 JavaScript,其中包含 <code>sessionStorage.setItem('data', 'value')</code>,其范围仅限于源。该表单存在于 <em>parent.example.com</em> 源中,而接收到的 HTML 文档位于 <em>child.example.com</em> 源中。因此,我们必须像 HTML 表单重定向一样转到 <em>child.example.com</em> 页面。</p>
P粉617237727P粉617237727454 天前584

全部回复(1)我来回复

  • P粉851401475

    P粉8514014752023-09-01 10:10:38

    客户端代码无法执行此操作。

    最接近的方法是让服务器以 401 Unauthorized 状态和 WWW-Authenticate: Basic 标头响应请求,这会导致浏览器使用其本机 UI 提示用户输入凭据,并在用户输入凭据后,使用基本身份验证的格式重复请求并添加授权


    正如 Phil 在评论中提到的那样,听起来您想要请求的 URL 确实不是为浏览器直接导航而设计的。

    与其尝试解决这个问题,您可能最好将身份验证系统更改为其他系统(例如为响应传统登录表单的提交而设置的 cookie)

    回复
    0
  • 取消回复