xhr.getAllResponseHeader返回源代码

时间:2017-11-20 09:22:55

标签: javascript ajax http typescript xmlhttprequest

var _this = this;
$(document).ready(() => {
  $("#loginForm").submit(function (event) {

    // Standard-Aktion abbrechen
    event.preventDefault();

    // Formular per AJAX senden
    var form = $(this);
    $.ajax({
      type: 'POST',
      url: form.prop('action'),
      data: form.serialize(),
      success: (output, status, xhr) => {

        if (output.match(someString) === null) {
          console.log(xhr.getAllResponseHeaders);
          var header = xhr.getResponseHeader('Set-Cookie');
          console.log(header);
          //loggin erfolgreich
          _this.navCtrl.setRoot("HomePage");
        } else {
                  .
                  .
                  .

Hello Guys,

我正在尝试打印我的回复标题。 在示例中,我寻找一个特殊的头,但它返回null。 如果我使用.getAllResponseHeaders,它会打印源代码而不是值:

ƒ () {
                return completed ? responseHeadersString : null;
            }

1 个答案:

答案 0 :(得分:2)

调用方法时,请不要忘记()

console.log(xhr.getAllResponseHeaders());

但是,潜在的问题是您需要此行的更多权限:

var header = xhr.getResponseHeader('Set-Cookie');

您只能访问JavaScript中的简单标题,除非您的服务器允许它们公开,例如:

Access-Control-Expose-Headers: Set-Cookie

因此,您需要添加此服务器端以允许JavaScript访问标头。