programing

헤더 이외의 Ajax DELETE 요청의 데이터를 전달하는 방법

skycolor 2023. 4. 2. 10:08
반응형

헤더 이외의 Ajax DELETE 요청의 데이터를 전달하는 방법

아래는 Ajax에 대한 요청입니다.DELETE요청:

deleteRequest: function (url, Id, bolDeleteReq, callback, errorCallback) {
    $.ajax({
        url: urlCall,
        type: 'DELETE',
        headers: {"Id": Id, "bolDeleteReq" : bolDeleteReq},
        success: callback || $.noop,
        error: errorCallback || $.noop
    });
}

다른 방법으로 데이터를 전달할 수 있는 방법이 있습니까?headers?

다음 버그 문제를 읽어보십시오.

RFC 2616 필딩 인용

DELETEmethod는 Request-URI에 의해 식별된 리소스를 삭제하도록 오리진서버에 요구합니다.

따라서 URI의 데이터를 전달해야 합니다.

$.ajax({
    url: urlCall + '?' + $.param({"Id": Id, "bolDeleteReq" : bolDeleteReq}),
    type: 'DELETE',
    success: callback || $.noop,
    error: errorCallback || $.noop
});

Ajax 메서드로 데이터 속성을 정상적으로 통과시킬 수 있었습니다.여기 제 코드가 있습니다.

$.ajax({
     url: "/api/Gigs/Cancel",
     type: "DELETE",
     data: {
             "GigId": link.attr('data-gig-id')
           }

  })

link.attr 메서드는 단순히 'data-gig-id' 값을 반환했을 뿐입니다.

가지고 놀다dataDELETE 타입의 AJAX 요청은 처리하는데 많은 시간을 소비합니다.Uncaught TypeError: Cannot read properties of undefined (reading 'data').

구식 접근법(GET 요청과 마찬가지로 URI 내의 데이터 전달)을 사용하면 시간을 절약할 수 있습니다.

let requestUrl = urlCall + '?Id=' + Id + '&bolDeleteReq=' + bolDeleteReq;

$.ajax({
url: requestUrl,
type: 'DELETE'  
   

언급URL : https://stackoverflow.com/questions/15088955/how-to-pass-data-in-the-ajax-delete-request-other-than-headers

반응형