NotFoundHttpException means that a route route for a specific request with a specific HTTP verb is not specified or an action (that is, a controller method) that maps to a verb for a route is erroneously implemented.
Since you mentioned in the post that the TranslationController is defined as an implicit controller ,
Route::controller('translation', 'TranslationController');
and from the controller code that you posted, it’s clear that you did not define a verb for the destroy method in your TranslationController .
If you create php artisan route:list in the root directory of projects with the terminal / command line interface, you will see a list of registered HTTP verbs, mapping to the corresponding URIs and actions.
To define a specific method in an implicit controller, the verb ( GET , PUT , POST , DELETE ) must precede the actual function name. Make sure the destroy method looks like this in your controller:
public function deleteDestroy($id){
Note: Laravel by default requires that the csrf token csrf passed along with a specific RESTful request, so do not remove data: {'_token': token} from your AJAX call.
Update
Forgot to mention that the url in your AJAX call also needs to be changed as follows in order to work, because this is how the implicit Laravel controllers determine the route for the DELETE request:
var url = "translation/destroy";
source share