2012-09-08 3 views
3

JQuery 1.8 또는 1.7.2는 DELETE ajax 요청에서 데이터 매개 변수를 지원합니까? 그렇지 않으면JQuery에서 데이터 매개 변수를 사용하는 ajax DELETE 요청

$.ajax({ 
    url: '/config/delete', 
    type: 'DELETE', 
    data: {id:'blah'} 
} 

, 대안

$.ajax({ 
    url: '/config/delete?id=blah', 
    type: 'DELETE' 
} 

내 질문 수 :

나는 사람들이 명시 적으로 두 번째 방법을 사용하지 않는 말을 본 적이
  1. , 하지만 왜? 보안상의 이유가 있습니까?

  2. 첫 번째 접근 방식이 작동하지 않고 두 번째 접근 방식이 좋지 않은 경우 여기에는 대체 방법이 무엇입니까? 메서드 인수와 함께 POST 요청을 보내는 중입니다 (예 : 데이터 : {... 방법 : '삭제'}?

+0

http://stackoverflow.com/questions/5894400/does-jquery-ajax-work-in-modern-browsers-with-put-and-delete – Ashirvad

+0

@AshirvadSingh, 감사합니다. 위의 질문은 다릅니다. 나는 특별히 DELETE 요청의 body 매개 변수 부분을 알고 싶지만 브라우저와의 호환성은 알고 싶지 않다. – skyork

답변

0

DELETE HTTP 요청 방법은 몇 가지 데이터를 전송하기 위해 더 body이 없습니다.

따라서 어떤 접근 방식을 사용하더라도 id=blah 또는 {id:'blah'}은 배달되지 않습니다.
이것은 jQuery 버전이 아니라 HTTP 메소드 자체의 특성 때문입니다.

DELETE 메서드를 사용하면 액세스 한 resource를 삭제할 수 있습니다.
/config/delete 파일은 실행되지 않지만 서버에서 삭제됩니다.

또한이 방법은 HTML 양식에서 허용되지 않기 때문에 ... 저는 Ajax를 통해 작동하지 않을 것입니다.

관련 문제