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

Laravel9+Vue3多部分表单提交后控制台返回全HTML问题求助

解决Laravel 9 + Vue 3提交Multipart表单返回HTML而非JSON的问题
  • 确认路由中间件:如果是前后端分离的API请求,确保路由定义在routes/api.php中(自动使用api中间件);若在routes/web.php中定义,需给对应路由明确设置JSON响应头,避免web中间件返回HTML内容。
  • 检查控制器返回格式:数据入库后,必须返回标准JSON响应,示例代码:
    return response()->json([
        'status' => 'success',
        'data' => $savedData
    ], 200);
    
    禁止使用return view()或直接返回字符串,这类返回会被Laravel包装为HTML页面。
  • 验证请求路由匹配:确认Vue端请求的URL与Laravel定义的路由完全一致,避免请求误匹配到返回页面的路由(如首页、404页面路由)。
  • 强制设置请求头:在Vue的axios请求中显式指定Accept头为application/json,确保Laravel识别为API请求:
    axios.post('/your-submit-url', formData, {
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'multipart/form-data'
        }
    }).then(response => {
        console.log(response.data)
    })
    
  • 排查异常页面返回:若请求触发Laravel异常(如CSRF验证失败),默认会返回错误页面HTML。可在.env中设置APP_DEBUG=true查看具体错误,或在app/Exceptions/Handler.php中配置API请求的异常返回JSON格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:11:12