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

Next 13使用serialize函数时触发URI格式错误排查求助

Next.js 13 中 serialize 函数报 "URI malformed" 错误排查方案

核心排查方向

  • 检查 Cookie 内容合法性:parseCookieString 报错大概率是因为 Cookie 包含不符合 URI 规范的字符,比如未转义的空格、[/]/{这类特殊符号。可以先打印所有待序列化的 Cookie 键值对,逐个排查非法字符。
  • 手动转义特殊字符:确认是特殊字符导致问题后,调用 serialize 前用 encodeURIComponent() 处理 Cookie 值:
    import { serialize } from 'next/dist/server/web/spec-extension/cookies';
    const safeValue = encodeURIComponent(yourCookieValue);
    const serializedCookie = serialize('cookie-name', safeValue, { path: '/' });
    
  • 升级 Next.js 小版本:即便怀疑是框架 Bug,也可以先升级到 Next 13 的最新小版本,多数边缘问题会在迭代中修复。
  • 排查服务端 Cookie 逻辑:如果在 Server Components 或 API Route 中操作 Cookie,检查是否存在第三方库写入非法 Cookie、重复覆盖 Cookie 的情况。

临时规避方案

若需紧急恢复服务,可替换 Next.js 内置的 serialize 函数,使用第三方 cookie 包处理:

import { serialize } from 'cookie';
const serializedCookie = serialize('cookie-name', yourValue, { path: '/' });

内容的提问来源于stack exchange,提问作者nikolay.akhmetyanov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:22:02