You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel控制器中通过Ajax返回Blade视图并实现页面刷新?

实现控制器通过Ajax返回Blade视图并刷新页面

控制器端实现

在Laravel控制器的对应方法中,直接返回目标Blade视图即可,无需额外处理响应逻辑:

public function refreshAction()
{
    // 可在此添加业务逻辑(如数据更新、状态修改等)
    return view('pages.target-view'); // 替换为你的Blade视图路径
}

前端Ajax请求逻辑

发起Ajax请求后,无论响应结果如何,直接执行页面刷新操作:

// jQuery示例
$.ajax({
    url: '/your-route-path', // 替换为对应路由地址
    method: 'POST', // 根据路由类型选择GET/POST
    data: {
        // 按需传递请求参数
        _token: '{{ csrf_token() }}' // POST请求需携带CSRF令牌
    },
    complete: function() {
        location.reload(); // 请求完成(成功/失败)后刷新页面
    }
});

// 原生JS示例
fetch('/your-route-path', {
    method: 'POST',
    headers: {
        'X-CSRF-TOKEN': '{{ csrf_token() }}',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        // 按需传递参数
    })
}).finally(() => location.reload());

路由配置

在web.php中配置对应路由,指向控制器方法:

Route::post('/refresh-action', [YourController::class, 'refreshAction']);

以上方案中,控制器返回的Blade视图内容不会被前端解析,仅作为请求完成的标识,最终通过前端的location.reload()实现页面刷新。

内容的提问来源于stack exchange,提问作者morteza heydari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:24:29