我正在和Angular 6应用程序对Django endpoints 进行POST调用 . 收集,设置和传递所需CSRF令牌/ cookie的当前首选方法是什么?现在我收到的错误消息说:

禁止(403)CSRF验证失败 . 请求中止 .

尝试进行HTTP调用的代码很简单:

export class EmailService {
  constructor(private http: HttpClient) {}

  sendMailgunContactMessage(subject, name, email, policyNumber, message) {
    const body = {
      Subject: subject,
      Name: name,
      Email: email,
      PolicyNumber: policyNumber,
      Message: message
    };

    return this.http.post(SharedService.contactEmailUrl, body);
  }
}

这个问题是独一无二的,因为它寻求一种能够保持CSRF保护的解决方案(例如,不使用@csrf_exempt()并且不会注释掉CSRF中间件) .