DELETE MethodNotAllowedHttpException с IIS, AngularJS и Laravel

Я изучаю AngularJS 1.5.8 + Laravel 5.3.17 + PHP 7, размещенный на IIS / Windows 10, после этого руководство.

При отправке HTTP AngularJS $ resource.delete () в Laravel, я получаю сообщение об ошибке: 405 Method Not Allowed и ниже сообщение об ошибке Laravel:

введите описание изображения здесь

php artisan route:list дает мне следующую таблицу маршрутов. Я ожидаю, что УДАЛИТЬ по маршруту time.destroy,

введите описание изображения здесь

На IIS я попытался установить PHP на обработчик, чтобы принимать все HTTP-глаголы безрезультатно.

введите описание изображения здесь

Фильтрация запросов IIS для явного разрешения DELETE также не работает.

введите описание изображения здесь

HTTP GET и PUT глаголы работают нормально. Как включить глагол DELETE?

Заранее спасибо!

3

Решение

Я обнаружил, что причина в том, что я случайно передал Laravel значение id: null.

var Time = $resource('api/time/:id'); //using angular-resource.js
Time.delete({id:null}).$promise.then(function(success) {
console.log(success);
}, function (error) {
console.log(error); // HTTP error 405, Method Not Allowed
});

Возвращение сообщения об ошибке 405 действительно вводит в заблуждение. Интересно, как я могу переопределить это поведение и вернуть более значимое сообщение об ошибке.

Надеюсь, что это поможет другим бедным людям искать правильные места, не тратя 2 дня на поиск документов на веб-сервере!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]