Typescript 中的 CSRF 令牌,显示“{”或“;”预期和参数声明预期

CSRF Token in Typescript, showing '{' or ';' expected and Parameter declaration expected

我的打字稿文件中有一个 CSRF 令牌脚本,

getCookie(name) {
    var cookieValue = null;

    if (document.cookie && document.cookie != '') {
      var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i ++) {
          var cookie = jQuery.trim(cookies[i]);

          if (cookie.substring(0, name.length + 1) == (name + '=')) {
            cookieValue = decodeURIComponent(cookie.substring(name.length +1));
            break ;
          }
        }
    }
    return cookieValue;
  }

  csrfSafeMethod(method) {
    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
  }

  $(document).ready(function() {
    var csrftoken = this.getCookie('csrftoken');
    $.ajaxSetup({
      beforeSend: function(xhr, settings) {
        if(!this.csrfSafeMethod(settings.type) && !this.crossDomain) {
          xhr.setRequestHeader("X-CSRFToken", csrftoken);
        }
      }
    });
  });

当我尝试 运行 它时,它给了我这 2 个错误

有人知道为什么吗??提前致谢!!!

您已将所有 jQuery 文档就绪代码放在一个奇怪的位置。

这是最小改动的编译版本。

class Example {
  constructor() {
    $(document).ready(() => {
      var csrftoken = this.getCookie('csrftoken');
      $.ajaxSetup({
        beforeSend: function (xhr, settings) {
          if (!this.csrfSafeMethod(settings.type) && !this.crossDomain) {
            xhr.setRequestHeader("X-CSRFToken", csrftoken);
          }
        }
      });
    });
  }

  getCookie(name) {
      var cookieValue = null;

      if (document.cookie && document.cookie != '') {
        var cookies = document.cookie.split(';');
          for (var i = 0; i < cookies.length; i ++) {
            var cookie = jQuery.trim(cookies[i]);

            if (cookie.substring(0, name.length + 1) == (name + '=')) {
              cookieValue = decodeURIComponent(cookie.substring(name.length +1));
              break ;
            }
          }
      }
      return cookieValue;
  }

  csrfSafeMethod(method) {
    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
  }

}