개발/Script
[jQuery] ajax Post 형식으로 사용하는 form.submit() 확장 기능
는세
2019. 8. 9. 10:27
반응형
만들었던 이유는 정확히 기억은 안나지만.... JSON으로 입력받는 data를 전송하면서 동시에 redirect 처리를 하고 싶었던 것 같다.
또한 GET 방식으로 사용하기에는 변수가 많았고, POST 형식과 유사하게 사용할 수 있으므로 보기에 더 편한 이점이 있어서 사용했던 것 같다(?)
누군가는 나와 같은 기능을 원할 수도 있다는 생각에 올리는 포스트
// jQuery 를 확장하여 ajax post 형태처럼 쓸 수 있는 Redirect Post 펑션 (내부는 폼 제출로 동작하도록)
$.extend({
redirectPost: function (location, args) {
var form = $('<form></form>');
form.attr("method", "post");
form.attr("action", location);
// key value 형식으로 바꾼 후에 form 으로 변환
$.each(args, function (key, value) {
var field = $('<input></input>');
field.attr("type", "hidden");
field.attr("name", key);
field.attr("value", value);
form.append(field);
});
// 위에서 생성된 폼을 제출 한다
$(form).appendTo('body').submit();
}
});
사용 예시 :
$.redirectPost('/Order/Complete', data);
참고 : 스택오버플로우
반응형