La redirection Inertia/Laravel PATCH tente également de mettre à jour le référent
P粉265724930
2023-09-04 11:56:57
<p>J'ai une application Laravel/InertiaJS dans laquelle j'effectue des requêtes Axios à partir d'une interface Vue pour mettre à jour certains modèles. Dans mon cas, j'ai une page d'affichage <strong>Proposition</strong> qui affiche également les <strong>Tâches</strong> </p>
<p>J'ai un sous-composant Vue qui effectue un appel Axios pour mettre à jour une tâche spécifique : </p>
<pre class="brush:php;toolbar:false;">const moveToNextStatus = (statut) =>
console.log('exécuter')
// met à jour le statut de la tâche en utilisant axios
axios.patch(`/data/tasks/${props.task.id}`, {
statut : statut
})
}</pré>
<p>Voici l'itinéraire vers lequel il pointe :</p>
<pre class="brush:php;toolbar:false;">Route::patch('/data/tasks/{task}', [AppHttpControllersTaskController::class, 'update'])->name(' tâches.update');</pre>
<p>Ensuite, dans mon Laravel <strong>TaskController</strong>, ma méthode de mise à jour ressemble à ceci : </p>
<pre class="brush:php;toolbar:false;">mise à jour de la fonction publique (Request $request, Task $task)
{
$task->update($request->all());
return redirect()->back();
}</pré>
<p>Pour une raison quelconque, lorsque la demande d'Axios pour PATCH /tasks/{task} se déclenche, elle appelle également la route <strong>PATCH /proposals/{proposal}</strong> ≪ /p>
<p>Peut-être que cela a quelque chose à voir avec la redirection à partir de composants enfants ? Quelqu'un peut-il m'aider? </p>
La documentation d'Inertia indique ;
Vous pouvez trouver cela dans la documentation ici : https://inertiajs.com/redirects
Il souhaite également que vous utilisiez une aide non standard pour la redirection, telle que
;Je ne suis pas d'accord avec cela, mais c'est comme ça : utiliser 303 lorsque la page ne redirige pas du tout semble violer la norme du code d'état du réseau.