我想向服务器提交一个HTML表单,该服务器接受queryString
中的表单数据沿着Authorization头。然后,服务器在对数据和Authorization头执行一些计算后发回一个HTML文档。
限制条件
1.我不能使用JavaScript功能,如 AJAX 或fetch,因为表单提交得到一个HTML响应,需要在浏览器上打开。
1.由于内部原因,表单还需要使用GET
方法。
响应
接收到的响应是一个HTML文档,其中包含JavaScript,其中包含sessionStorage.setItem('data', 'value')
,其作用域为源。表单存在于 parent.example.com 源中,而接收到的HTML文档在 child.example.com 源中。因此,我们必须像HTML表单重定向一样转到 child.example.com 页面。
1条答案
按热度按时间9rygscc11#
客户端代码没有办法做到这一点。
最接近的方法是让服务器使用
401 Unauthorized
状态和WWW-Authenticate: Basic
头来响应请求,这将导致浏览器使用其本机UI提示用户输入凭据,并在用户输入凭据后,使用Basic Auth格式添加Authorization
重复请求。正如Phil在评论中提到的,听起来你想要请求的URL并不是为了直接通过浏览器导航而设计的。
与其试图解决这个问题,不如将身份验证系统更改为其他系统(例如设置cookie以响应来自传统登录表单的提交)