jQuery에서 PUT/DELETE 요청을 보내는 방법은 무엇입니까?
GET:$.get(..)
POST:$.post()..
때어는?PUT/DELETE?
Ajax 방법을 사용할 수 있습니다.
$.ajax({
url: '/script.cgi',
type: 'DELETE',
success: function(result) {
// Do something with the result
}
});
$.ajax 효과가 있을 것입니다.
$.ajax({
url: 'script.php',
type: 'PUT',
success: function(response) {
//...
}
});
jQuery를 확장하여 PUT 및 DELETE에 대한 바로 가기를 만들 수 있습니다.
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
});
};
});
이제 다음을 사용할 수 있습니다.
$.put('http://stackoverflow.com/posts/22786755/edit', {text:'new text'}, function(result){
console.log(result);
})
여기서 복사
제이쿼리 함수를 지정하면 가능할 것 같습니다.
type: "put"또는type: "delete"
모든 브라우저에서 지원되는 것은 아니지만 대부분의 브라우저에서 지원됩니다.
호환성에 대한 자세한 내용은 다음 질문을 참조하십시오.
대부분의 웹 브라우저에서 PUT, DELETE, HEAD 등의 방법을 사용할 수 있습니까?
여기서 다음 작업을 수행할 수 있습니다.
/* Extend jQuery with functions for PUT and DELETE requests. */
function _ajax_request(url, data, callback, type, method) {
if (jQuery.isFunction(data)) {
callback = data;
data = {};
}
return jQuery.ajax({
type: method,
url: url,
data: data,
success: callback,
dataType: type
});
}
jQuery.extend({
put: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'PUT');
},
delete_: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'DELETE');
}
});
그것은 기본적으로 단지 의 복사본입니다.$.post()방법 매개 변수를 조정한 상태에서.
다음은 JSON을 jQuery > 1.9와 함께 사용하는 경우에 대한 업데이트된 Ajax 호출입니다.
$.ajax({
url: '/v1/object/3.json',
method: 'DELETE',
contentType: 'application/json',
success: function(result) {
// handle success
},
error: function(request,msg,error) {
// handle failure
}
});
다음을 사용할 수 있어야 합니다.
HTTP 요청을 사용하여 원격 페이지를 로드합니다.
또한 다음 옵션을 사용하여 사용할 메서드를 지정할 수 있습니다.
("")
POST또는 "GET"), 기본값은 "입니다.GET".
방법: HTTP 요청)PUT그리고.DELETE여기서도 사용할 수 있지만 모든 브라우저에서 지원되는 것은 아닙니다.
매개 변수 유형 찾기
PUT 및 DELETE와 같은 다른 HTTP 요청 방법도 여기에서 사용할 수 있지만 모든 브라우저에서 지원되는 것은 아닙니다.
간략하게 설명하자면:
$.delete = function(url, data, callback, type){
if ( $.isFunction(data) ){
type = type || callback,
callback = data,
data = {}
}
return $.ajax({
url: url,
type: 'DELETE',
success: callback,
data: data,
contentType: type
});
}
AJAX로 할 수 있습니다!
위해서PUT 방법:
$.ajax({
url: 'path.php',
type: 'PUT',
success: function(data) {
//play with data
}
});
위해서DELETE 방법:
$.ajax({
url: 'path.php',
type: 'DELETE',
success: function(data) {
//play with data
}
});
만약 당신이 만들 필요가 있다면,$.post라라벨로 일하다.Route::delete또는Route::put 단지주을추니다합가장▁an▁add▁argument를 추가하면 ."_method"="delete"또는"_method"="put".
$.post("your/uri/here", {"arg1":"value1",...,"_method":"delete"}, function(data){}); ...
다른 사람들을 위해 작동해야 함 프레임워크
참고: Laravel 5.6 및 jQuery 3으로 테스트됨
크로스 브라우저 지원과 함께 여기에 설명된 솔루션을 통합한 jQuery 플러그인을 작성했습니다.
https://github.com/adjohnson916/jquery-methodOverride
확인해 보세요!
CRUD
이것이 더 말이 될 수도 있습니다.
CREATE(POST) 요청
function creat() {
$.ajax({
type: "POST",
url: URL,
contentType: "application/json",
data: JSON.stringify(DATA1),
success: function () {
var msg = "create successful";
console.log(msg);
htmlOutput(msg);
},
});
}
읽기(GET) 요청
// GET EACH ELEMENT (UNORDERED)
function read_all() {
$.ajax({
type: "GET",
url: URL,
success: function (res) {
console.log("success!");
console.log(res);
htmlOutput(res);
},
});
}
// GET EACH ELEMENT BY JSON
function read_one() {
$.ajax({
type: "GET",
url: URL,
success: function (res) {
$.each(res, function (index, element) {
console.log("success");
htmlOutput(element.name);
});
},
});
}
업데이트(PUT) 요청
function updat() {
$.ajax({
type: "PUT",
url: updateURL,
contentType: "application/json",
data: JSON.stringify(DATA2),
success: function () {
var msg = "update successful";
console.log(msg);
htmlOutput(msg);
},
});
}
삭제(삭제) 요청
function delet() {
$.ajax({
type: "DELETE",
url: deleteURL,
success: function () {
var msg = "delete successful";
console.log(msg);
htmlOutput(msg);
},
});
}
GitHub 참조
데이터 해시에 값이 'delete'인 _method라는 키를 포함할 수 있습니다.
예:
data = { id: 1, _method: 'delete' };
url = '/products'
request = $.post(url, data);
request.done(function(res){
alert('Yupi Yei. Your product has been deleted')
});
이는 다음에도 적용됩니다.
언급URL : https://stackoverflow.com/questions/2153917/how-to-send-a-put-delete-request-in-jquery
'programing' 카테고리의 다른 글
| 장고 모델에서 전화번호를 저장하는 가장 좋은 방법은 무엇입니까? (0) | 2023.05.24 |
|---|---|
| 이전 명령이 성공한 경우 한 명령을 실행하고, 그렇지 않은 경우 다른 명령을 실행하는 방법 (0) | 2023.05.24 |
| Eclipse의 "..." 오류 메시지가 포함된 리포지토리를 찾을 수 없음"에 대해 어떻게 해야 합니까? (0) | 2023.05.14 |
| Swift 클래스의 정적 vs 클래스 함수/변수? (0) | 2023.05.14 |
| Rails 및 Postgre에서 시간대를 완전히 무시하는 경우SQL (0) | 2023.05.14 |