Я работаю над проектом Laravel уже некоторое время и, к сожалению, попала в ловушку, отправив запрос DELETE на рабочую версию, размещенную на Microsoft Azure. Я обнаружил, что проблема заключалась в том, что Azure по умолчанию запрещает УДАЛИТЬ запросы, на которые я был направлен: Как включить запросы 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();
, а затем возвращает комментарий без удаленного подобного.
Метод внутри компонента представления, который вызывает ax ios:
axios.post('/api/likes', {comment_id: this.comment.id}).then((response) => {
this.comment = response.data;
}
У меня это нормально работает на моей локальной сборке, поэтому я не уверен, почему проблема сохраняется за пределами предоставленного исправления. Если есть что-то еще, пожалуйста, дайте мне знать, и я отредактирую сообщение.