I have a jquery script(downloaded from github) that deletes the entities. Following is the script.
$(document).ready(function() {
var restful = {
init: function(elem) {
elem.on('click', function(e) {
self=$(this);
e.preventDefault();
if(confirm('Are you sure you want to delete this record ? Note : The record will be deleted permanently from the database!')) {
$.ajax({
headers: {
Accept : "text/plain; charset=utf-8",
"Content-Type": "text/plain; charset=utf-8"
},
url: self.attr('href'),
method: 'DELETE',
success: function(data) {
self.closest('li').remove();
},
error: function(data) {
alert("Error while deleting.");
console.log(data);
}
});
}
})
}
};
restful.init($('.rest-delete'));
});
and i use it as such
{{link_to_route('download.delete','x', ['id' => $download->id], array('class'=> 'rest-delete label label-danger')) }}
The corresponding laravel route is as follows
Route::delete('/deletedownload/{id}', array('uses' => 'DownloadsController@deletedownload', 'as'=>'download.delete'));
However I am getting a 405 Method not allowed error when I try to press the X (delete button). The error is as follows
DELETE http://production:1234/deletedownload/42 405 (Method Not Allowed) .
This is working fine on my local sandbox.
Any help will be well appreciated.
thanks
You have used
method:DELETE
instead use following in yourajax
callLaravel
will look for the_method
inPOST
and then theDELETE
request will be used if found the method.Update: (Because of this answer, pointed by
nietonfir
)You may try
DELETE
method directly like this (if it doesn't work then try the other one), :