파일 업로드를 처리하는 폼 데이터를 AJAX 로 전송 시, 헤더에 Content-Type 을 지정해야 한다.
반드시 지정해야 하는 것은 아니지만 아래 오류가 발생할 수 있다.
Error Message
Error 405. The GET method is not supported for this route. Supported methods: POST.
axios 의 경우
헤더 지정
headers: {
"Content-Type": "multipart/form-data",
}
전문
var data = new FormData(frm);
let axiosConfig = {
headers: {
"Content-Type": "multipart/form-data",
}
}
axios.post(url, data, axiosConfig)
.then(function (response) {
if(response.data == 'success') {
alert('등록 되었습니다.');
location.href = '/edu';
} else {
console.log(response);
}
})
XMLHttpRequest 의 경우
헤더 지정
xhr.setRequestHeader("Content-type", "multipart/form-data");
전문
open - setRequestHeader - send 순서여야 한다.
var data = new FormData(frm);
var xhr = new XMLHttpRequest();
xhr.open('POST', '/edu-update', true);
xhr.setRequestHeader("Content-type", "multipart/form-data");
xhr.onload = function(e) {
if(this.status == 200) {
if(e.currentTarget.responseText == 'success') {
alert('등록 되었습니다.');
location.href = '/edu';
} else {
console.log(e.currentTarget.responseText);
}
}
}
xhr.send(data);
'코딩 > Laravel' 카테고리의 다른 글
라라벨 - 전역변수, 상수 사용 (Config, View, boot) (0) | 2024.06.25 |
---|---|
라라벨 - 파일 업로드 (0) | 2024.06.24 |
Laravel - MSSQL 서버 연결 실패 오류 SSL routines:tls_process_server_certificate:certificate verify failed (0) | 2023.08.29 |
Laravel - MSSQL 서버 연동 오류 QueryException could not find driver (0) | 2023.08.29 |
Laravel - 라라벨 GROUP BY 에러 SQLSTATE[42000]: Syntax error or access violation: 1055 (0) | 2023.02.08 |