[jQuery] $.put, $.delete 사용하기

2017. 12. 15. 10:10JavaScript

Restfull을 사용 할 때 method 방식에 put 또는 delete 의 경우 jquery에서는 $.ajax를 사용하여만 하는 번거로움이 있습니다.


Method PUT을 사용할 경우


1
2
3
4
5
6
7
8
9
$.ajax({
    url : "/user",
    type : "PUT",
    data : $("#testForm").serialize(),
    dataType : "text",
    success: function(result) {
        console.log( result );
    }
});




Method DELETE를 사용할 경우


1
2
3
4
5
6
7
$.ajax({
    type : "DELETE",
    dataType : "text",
    success: function(result) {
        console.log( result );
    }
});





위의 소스를 $.post나 $.get 처럼 사용하고자 할 때 다음 예제를 이용하면 됩니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
jQuery.each([ "put""delete" ], function(i, method) {
    jQuery[method] = function(url, data, callback, type) {
        if (jQuery.isFunction(data)) {
            type = type || callback;
            callback = data;
            data = undefined;
        }
 
        return jQuery.ajax({
            url : url,
            type : method,
            dataType : type,
            data : data,
            success : callback
        });
    };
});



사용 :


Method PUT을 사용할 경우


1
2
3
$.put("/user", $("#testForm").serialize(), (result) => {
    console.log( result );
},"text");



Method DELETE를 사용할 경우


1
2
3
$.delete("/user/kamsi76", (result) => {
    console.log( result );
},"text");