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

使用new URL拼接PHP API查询参数失败,URL编码异常问题

解决URLSearchParams换行符双重编码问题

问题核心是双重编码导致的差异:

  • 旧写法里,你手动把数组用%0A拼接成字符串,直接拼到URL中,浏览器不会对已编码的%0A再处理
  • 用URLSearchParams.append时,方法会自动对参数值做URL编码,如果你传入的是已经带%0A的字符串,它会把%编码成%25,最终变成%250A

修正代码

直接用换行符\n拼接数组,再传给append,让URLSearchParams帮你完成正确的编码:

let url = new URL('myUrl/search', getBaseUrl())
url.searchParams.append('surnames', allData.join('\n'));

验证结果

生成的URL会和旧写法一致:search?surnames=smith%0Ajordan,因为URLSearchParams会自动把\n编码为%0A,避免了双重编码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:20:43