Heim  >  Fragen und Antworten  >  Hauptteil

So legen Sie den Autorisierungsheader im HTML-Format der GET-Methode fest

<p>Ich möchte ein HTML-Formular an einen Server senden, der die Formulardaten in <code>queryString</code> zusammen mit dem Autorisierungsheader akzeptiert. Der Server sendet dann das HTML-Dokument zurück, nachdem er einige Berechnungen an den Daten- und Autorisierungsheadern durchgeführt hat. </p> <h1>Einschränkungen</h1> <ol> <li>Ich kann keine JavaScript-Funktionen wie AJAX oder Fetch verwenden, da die Formularübermittlung eine HTML-Antwort erhält, die im Browser geöffnet werden muss. </li> <li>Aus internen Gründen erfordert das Formular auch die Methode <code>GET</code> </li> </ol> <h1>Antwort</h1> <p>Die empfangene Antwort ist ein HTML-Dokument mit JavaScript, das <code>sessionStorage.setItem('data', 'value')</code> enthält, das nur auf die Quelle beschränkt ist. Das Formular ist in der Quelle <em>parent.example.com</em> vorhanden und das empfangene HTML-Dokument befindet sich in der Quelle <em>child.example.com</em> Wir müssen also wie bei einer HTML-Formularumleitung zur Seite <em>child.example.com</em> wechseln. </p>
P粉617237727P粉617237727385 Tage vor520

Antworte allen(1)Ich werde antworten

  • P粉851401475

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

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

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


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

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

    Antwort
    0
  • StornierenAntwort