WedX - журнал о программировании и компьютерных науках

Laravel: получение 405 в Azure для запросов DELETE через Axios

Я уже некоторое время работаю над проектом Laravel и, к сожалению, столкнулся с проблемой при отправке запроса DELETE на производственную версию, размещенную в Microsoft Azure. Я обнаружил, что проблема в том, что Azure по умолчанию отклоняет запросы DELETE, на которые я был направлен: Как включить запросы PUT в Azure?. Однако я обновил файл web.config следующим образом: (сервер PHP версии 7.3, 64-разрядная версия)

<configuration>
  <system.web>
    <customErrors mode="Off"/>
  </system.web>
  <system.webServer>
    <handlers>
      <remove name="PHP73_via_FastCGI" />
      <add name="PHP73_via_FastCGI" path="*.php" verb="GET, PUT, POST, HEAD, OPTIONS, TRACE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, DELETE" modules="FastCgiModule" scriptProcessor="D:\Program Files\PHP\v7.3\php-cgi.exe" resourceType="Either" requireAccess="Script" />
    </handlers>
    <rewrite>
      <rules>
        <rule name="Imported Rule 1" stopProcessing="true">
          <match url="^(.*)/$" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Redirect" redirectType="Permanent" url="/{R:1}" />
        </rule>
        <rule name="Imported Rule 2" stopProcessing="true">
          <match url="^" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Раньше я пытался запустить этот доступ к D:\Program Files (x86), но, к сожалению, это тоже не сработало. Я опубликовал весь файл web.config, потому что не уверен, что некоторые другие добавленные настройки конфликтуют с попыткой включить DELETE.

Для справки вот маршрут, который называется:

Route::group(['middleware' => ['auth']], function($router) {
    Route::post('likes', 'LikesController@store');
    Route::delete('likes/{', 'LikesController@remove');
    Route::delete('likes/{like}', 'LikesController@remove');
});

Вызов LikesController@remove запускает только $like->delete();, а затем возвращает комментарий без удаленного лайка.

Метод внутри компонента представления, который вызывает axios:

axios.post('/api/likes', {comment_id: this.comment.id}).then((response) => {
  this.comment = response.data;
}

У меня это отлично работает в моей локальной сборке, поэтому я не уверен, почему проблема сохраняется после предоставленного исправления. Если есть что-то еще, что нужно, пожалуйста, дайте мне знать, и я отредактирую пост.

18.02.2020

  • Вы пытались перезапустить сервер после обновления конфигурации? 18.02.2020
  • Сервер перезапускается каждый раз, когда он развертывается, если это не страницы регистрации и входа через php artisan make:auth, возвращайтесь с ошибкой 404, и, к сожалению, проблема все еще сохраняется. 11.03.2020

Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]