ajax로는 beforeSend 안에 xhr.setRequestHeader(header, token) 을 첨부하면 csrf 값을 전송할 수 있는데
axios에서는 그 방법을 몰라 찾아봤다.
let _csrf = document.querySelector('meta[name="_csrf"]').getAttribute('content');
let _csrf_header = document.querySelector('meta[name="_csrf_header"]').getAttribute('content');
axios(
{
method: 'POST',
url: '/api/press-products',
data: {
"mydata": this.mydata
},
headers: {
"Content-Type" : "application/json; charset=utf-8",
[_csrf_header]: _csrf
}
})
반드시 [ ] 안에 _csrf_header값을 넣어야한다.
출처 :
https://okky.kr/questions/587528
https://docs.spring.io/spring-security/site/docs/5.0.x/reference/html/csrf.html#csrf-include-csrf-token-ajax