Inertia / Laravel PATCH 重定向也嘗試更新引薦來源網址
P粉265724930
2023-09-04 11:56:57
<p>我有一個 Laravel / InertiaJS 應用程序,我可以在其中從 Vue 前端執行 Axios 請求來更新某些模型。就我而言,我有一個<strong>提案</strong>顯示頁面,其中還顯示與該提案相關的<strong>任務</strong>。 </p>
<p>我有一個 Vue 子元件,它執行 Axios 呼叫來更新特定任務:</p>
<pre class="brush:php;toolbar:false;">const moveToNextStatus = (status) => {
console.log('run')
// update the status of the task using axios
axios.patch(`/data/tasks/${props.task.id}`, {
status: status
})
}</pre>
<p>這是它所指的路線:</p>
<pre class="brush:php;toolbar:false;">Route::patch('/data/tasks/{task}', [\App\Http\Controllers\TaskController::class, 'update'] )->name('tasks.update');</pre>
<p>然後,在我的 Laravel <strong>TaskController</strong> 中,我的更新方法如下所示:</p>
<pre class="brush:php;toolbar:false;">public function update (Request $request, Task $task)
{
$task->update($request->all());
return redirect()->back();
}</pre>
<p>由於某種原因,當Axios 對PATCH /tasks/{task} 的請求觸發時,它也會呼叫路由<strong>PATCH /proposals/{proposal}</strong> 並嘗試更新失敗的提案。 < /p>
<p>也許這與從子元件重定向有關?有人可以幫我嗎? </p>
Inertia 的文檔指出;
您可以在此處的文件中找到此內容:https://inertiajs.com/redirects
它還希望您使用非標準幫助程式進行重定向,例如;
我不同意它,但事實就是如此 - 當頁面根本沒有重定向時使用 303 似乎違反了網路狀態代碼標準。