GET
:$.get(..)
POST
:$.post()..
কি হবে PUT/DELETE
?
GET
:$.get(..)
POST
:$.post()..
কি হবে PUT/DELETE
?
উত্তর:
আপনি আজাক্স পদ্ধতিটি ব্যবহার করতে পারেন :
$.ajax({
url: '/script.cgi',
type: 'DELETE',
success: function(result) {
// Do something with the result
}
});
PUT
বা DELETE
অনুরোধগুলি 404 ত্রুটি ফিরিয়ে দিচ্ছে, আপনাকে আইআইএসে এই ক্রিয়াগুলি সক্ষম করতে হবে। আমি এটি একটি ভাল সংস্থান হিসাবে পেয়েছি: geekswithblogs.net/michelotti/archive/2011/05/28/…
"The type of request to make ("POST" or "GET"), default is "GET". Note: Other HTTP request methods, such as PUT and DELETE, can also be used here, but they are not supported by all browsers."
থেকে: api.jquery.com/jQuery.ajax/#options
method
বাtype
$.ajax
কাজ করবে.
$.ajax({
url: 'script.php',
type: 'PUT',
success: function(response) {
//...
}
});
contentType: "application/json"
আমরা পুট এবং ডিলিটের শর্টকাটগুলি তৈরি করতে jQuery প্রসারিত করতে পারি:
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);
})
এখান থেকে অনুলিপি
উল্লেখ করে JQuery এর এজ্যাক্স ফাংশন দিয়ে সম্ভব বলে মনে হচ্ছে
type: "put"
অথবা
type: "delete"
এবং সমস্ত ব্রাউজার দ্বারা সমর্থিত নয়, তবে বেশিরভাগগুলি।
সামঞ্জস্যতা সম্পর্কিত আরও তথ্যের জন্য এই প্রশ্নটি দেখুন:
বেশিরভাগ ওয়েব ব্রাউজারে কি পুট, ডিলেট, হেড ইত্যাদি পদ্ধতি পাওয়া যায়?
থেকে এখানে , আপনি এটা করতে পারেন:
/* 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()
অভিযোজিত প্যারামিটারের সাথে একটি অনুলিপি ।
আপনি jQuery> 1.9 এর সাথে জেএসএন ব্যবহার করছেন তার জন্য এখানে একটি আপডেট হওয়া এজ্যাক্স কল রয়েছে:
$.ajax({
url: '/v1/object/3.json',
method: 'DELETE',
contentType: 'application/json',
success: function(result) {
// handle success
},
error: function(request,msg,error) {
// handle failure
}
});
আপনি ব্যবহার করতে সক্ষম হতে হবে jQuery.ajax
:
একটি HTTP অনুরোধ ব্যবহার করে একটি রিমোট পৃষ্ঠা লোড করুন।
এবং আপনি type
বিকল্পটি সহ কোন পদ্ধতিটি ব্যবহার করতে হবে তা নির্দিষ্ট করতে পারেন :
("
POST
" বা "GET
") করার অনুরোধের ধরণ , ডিফল্ট "GET
"।
দ্রষ্টব্য: অন্যান্য এইচটিটিপি অনুরোধ পদ্ধতি যেমনPUT
এবং এরDELETE
জন্যও এখানে ব্যবহার করা যেতে পারে তবে সেগুলি সমস্ত ব্রাউজার দ্বারা সমর্থিত নয়।
PUT
বা DELETE
?
বংশবৃদ্ধির জন্য:
$.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
});
}
আপনি এজেএক্স দিয়ে এটি করতে পারেন!
জন্য 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
}
});
আমি একটি jQuery প্লাগইন লিখেছি যা এখানে আলোচিত সমাধানগুলি ক্রস ব্রাউজার সহায়তায় অন্তর্ভুক্ত করে:
https://github.com/adjohnson916/jquery-methodOverride
এটা দেখ!
আপনি যদি একটি করতে হবে তাহলে $.post
একটি Laravel কাজ Route::delete
বা Route::put
শুধু একটি যুক্তি যোগ "_method"="delete"
বা "_method"="put"
।
$.post("your/uri/here", {"arg1":"value1",...,"_method":"delete"}, function(data){}); ...
অন্যদের ফ্রেমওয়ার্কের জন্য অবশ্যই কাজ করা উচিত
দ্রষ্টব্য: লারাভেল 5.6 এবং jQuery 3 এর সাথে পরীক্ষিত
আপনি নিজের ডেটা হ্যাশটিতে একটি কীটি অন্তর্ভুক্ত করতে পারেন: _ 'মুছে ফেলুন' এর মান সহ।
উদাহরণ স্বরূপ:
data = { id: 1, _method: 'delete' };
url = '/products'
request = $.post(url, data);
request.done(function(res){
alert('Yupi Yei. Your product has been deleted')
});
এটিও আবেদন করবে
একাধিক ভেরিয়েবল রাখার জন্য আমি এখানে একটি সাধারণ এক-লাইনার ব্যবহার করেছি:
$.put("https://your-url.com",{item1:'new item1',item2:'new items2'});