Laravel PUT/PATCH 返回 302 Found 并重定向到前端 URL

问题描述 投票:0回答:1

1.) 在 api.php 中有一个 Laravel 路由:

Route::group(['prefix' => 'admin'], function() {
    Route::group(['prefix' => 'images'], function() {
        Route::put('/{image}', [\App\Http\Controllers\ImagesController::class, 'update']);
    });
});

更新方法代码:

public function update(Image $image, ImageData $data) {
    $image->update([
        'title' => $data->title,
        'source' => $data->source
    ]);
    return response('', 200);
}

2.) Nuxt:

export const useApiFetch = async <T>(request, opts?) => {
    const config = useRuntimeConfig()
    return useFetch<T>(request, {baseURL: config.public.apiBase, ...opts})
}

组件

const finishEditing = async () => {
    await useApiFetch(`admin/images/${image.id}`, {
        method: 'PUT',
        data: props.image
    })
    store.editingTitle = false
    store.editingSource = false
}

发送 PUT 或 PATCH 请求时,返回

302 Found
并重定向到 localhost:3000,这是前端的地址。为什么会出现这种情况? API 路由的中间件设置是开箱即用的。

laravel request nuxt.js
1个回答
0
投票

我之前遇到过类似的问题,当请求未经身份验证时就会发生这种情况。您需要检查您的请求是否正确发送到控制器。

也许你的请求会在中间件或其他东西中被切断。

© www.soinside.com 2019 - 2024. All rights reserved.