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

触发wire:poll时出现livewire/update 404错误求助

Livewire wire:poll 触发404错误的解决思路

问题背景

使用Laravel Framework 11.25.0 + Livewire v3.5.6,触发wire:poll时JS控制台出现404错误:

livewire.js?id=38dc8241:4284 POST http://localhost:8000/livewire/update 404 (Not Found)

除首次渲染外,组件的render函数不再被调用。已简化至最简组件代码(视图仅含<div wire:poll>A</div>,控制器仅保留基础mount和render逻辑),问题仍存在。

已确认:

  • php artisan route:list能看到livewire/update的POST路由
  • 页面已正确引入Livewire脚本,且脚本包含data-update-uri="/livewire/update"
  • 直接访问/livewire/update返回“该路由不支持GET方法,仅支持POST”,符合预期

解决步骤

1. 重新发布Livewire资源并清除路由缓存

执行以下命令确保Livewire的配置、路由和静态资源正确:

php artisan livewire:publish --config
php artisan livewire:publish --assets
php artisan route:clear

2. 验证CSRF令牌一致性

检查页面中meta标签的CSRF令牌与Livewire脚本的data-csrf值是否匹配:

  • 在浏览器控制台执行:document.querySelector('meta[name="csrf-token"]').content
  • 对比Livewire脚本标签中的data-csrf属性值

若不匹配,清除视图缓存:

php artisan view:clear

3. 确认APP_URL配置

检查.env文件中的APP_URL是否设置为当前应用的正确地址:

APP_URL=http://localhost:8000

配置错误会导致Livewire生成的请求路径异常。

4. 排查中间件干扰

  • 暂时禁用自定义全局中间件,测试wire:poll是否正常工作
  • 检查RouteServiceProvider是否对Livewire路由添加了额外前缀或限制

5. 清除所有缓存

执行完整的缓存清除命令,排除缓存导致的异常:

php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

6. 简化组件初始化逻辑

暂时注释mount方法中的日志代码,或移除mount方法,测试组件是否能正常触发render:

class TweetTable extends Component
{
    // public function mount($campaign)
    // {
    //     Log::info(__CLASS__ . ":" . __FUNCTION__ . " idCampaign = " . $campaign->id);
    // }

    public function render()
    {
        Log::info(__CLASS__ . ":" . __FUNCTION__);

        return view('livewire.tweet-table');
    }
}

内容的提问来源于stack exchange,提问作者Jean François Manatane

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 12:45:57