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

axios请求data包含等号时无法发送正确数据对象的问题咨询

问题根因

你发送的是JSON格式请求体,但请求头的Content-Type被错误设置为application/x-www-form-urlencoded。这种格式会把请求体中的=识别为键值对分隔符,你JSON内容里的=触发了错误切割逻辑,最终导致发送的数据格式损坏。

解决方案

方案1:使用标准JSON请求格式(推荐)

axios默认支持自动序列化JS对象为JSON、并自动设置正确的application/json请求头,不需要提前手动调用JSON.stringify,修改两处即可:

  1. 构造请求数据时直接传递原始JS对象,不需要序列化:
// 替换原有 let data = JSON.stringify(json);
let data = json;
  1. 可在axios配置中手动指定请求头,避免全局配置覆盖:
request = await axios.request({
    url,
    method,
    data,
    headers: {
        authorization: this.$root.getToken(),
        'Content-Type': 'application/json'
    },
});

方案2:若接口强制要求x-www-form-urlencoded格式

将JSON字符串作为键值对的值传递,同时做URL编码规避=被误解析:

let data = 'payload=' + encodeURIComponent(JSON.stringify(json));

后端接收后提取payload字段,URL解码后再做JSON解析即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:24:04