일반적으로 Redirect 합니다.
답변 매우 감사합니다!
그렇다면, 서버에서 예외가 발생했다면 status code와 함께 back() 함수를 실행하는건가요!?
401 status code 경우는 back() 함수와 줄 수가 없는 것 같아요 ㅠㅠ
게다가 laravel validation error handling 조차 response json으로 주기때문에
클라이언트에서 냅다 submit을 하면 골치아픈 일이 발생하네요...
저는 보통 ajax로...
function submit(form) {
var type = form.dataset.type;
var url = form.dataset.url;
var data = new FormData(form);
$.ajax({
type: "post",
url: url,
data: data,
processData: false,
contentType: false,
statusCode: {
200: function() {
// handling...
},
401: function() {
// handling...
},
422: function() {
// handling...
},
423: function() {
// handling...
},
500: function() {
// handling...
}
}
});
}
이런식으로 status code별로 핸들링하고 있었는데... 어떻게 해야맞는지 혼란스럽습니다...
예 동의합니다. HTML 응답일 때는 401을 줄 수 있는 방법이 없을 것 같네요. 이렇게 하면 되지 않을까요?
if (request()->ajax() || request()->wantsJson()) { return response()->json(['...'], 401); } return redirect(route('your-named-route'));
답변 감사합니다. ㅜ ㅜ
결국, 깔끔한 그리드를 위해서 ajax를 사용하기로 결정했습니다 ㅜ ㅜ
웹 애플리케이션에서 데이터를 저장, 수정, 삭제하는 액션에 대한 응답을 redirect로 해야하나요 response로 해야하나요?
클라이언트에서 ajax를 사용할 경우 서버에서는 return response([], 200); 이런 식으로 응답이 가능한데,
만약 페이지를 이동하면서 데이터를 전송할 경우엔 return redirect(...); 이런 식으로 응답해야할 것 같더라구요...
일반적으로 어떻게 작성하시나요?