2017-12-07 9 views
0

(제목) 내 타이프 스크립트 파일에 CSRF 토큰을 설정하는 방법을 모르겠습니다. 타이프 스크립트 및 CSRF 토큰에 대한 초보자입니다.CSRF 토큰이 설정되지 않았습니다. Typescript에서 CSRF 쿠키를 설정하는 방법은 무엇입니까?

내 정보를 게시하는 데 사용하는 타이프 스크립트 파일입니다.

def report(request): 
    import pdb; pdb.set_trace() 
    if request.method == 'POST': 
     z1= site(country_site="New Penang Site") 
     site.save() 
    else: 
     return HttpResponse(request.method, content_type="application/json") 

나는를 게시 할 때이 올바른지 아닌지에 대한 내 setting.py 내부

getUsers2() { 

    let headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 
    let body2 = { 
     site: this.selectedSite, 
     zone: this.selectedZone, 
     user: this.username, 
     categoryType: this.problemType, 
     ser: 'High', 
     conNo:'012-8888888' 
    }; 

    this.http.post('http://localhost:8000/apidb/report/', JSON.stringify(body2), {headers: headers}) 
     .map(res => res.json()) 
     .subscribe(data => { 
      console.log("herererererere" ,data); 
     }); 


    this.restProvider.getUsers2().then(data2 => { 
     this.locations = data2; 
     console.log(this.locations); 
    }); 
    } 

난 이미 내 views.py에서 나는 확실하지 미들웨어

MIDDLEWARE = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'corsheaders.middleware.CorsMiddleware', 
] 

를 설치 한 데이터를 내 API로 보내면 CSRF가 설정되지 않은 것으로 나타납니다.

enter image description here

누구든지 내게이 문제에 대한 지침이나 지침을 제공 할 수 있습니까 ?? 감사 !!

답변

0

HTTPrequest (이 경우 body2 var)에서 보낸 POSTdata에 CSRF 토큰을 추가해야합니다. Django 문서에서 POST (Laravel의 '_token')에서 찾고있는 이름을 확인해야합니다.

이 POST의 VAR의 값 (즉 CSRF 토큰)의 VAR (X) = (서버 측 에코) 페이지 상단 토큰 서버 측 반향에 의해 설정 될 것이다

+0

에서 POST VAR 제자리되어야 내 타이프 크립트 또는 views.py 안에 ?? – Reggie

+0

나는 아직도 당신이 제공하는 해결책에 대해 분명히하지 않고 있습니다. 더 설명 하시겠습니까? – Reggie