let url_link = ' https://wxaurl.cn/vhRgPCKpPMa'。//示例url 请替换自己的地址
let extraData = {
authorId: "10771483697545352760",
item: {
guild_id: "13973686903241173896",
}
}
// ❌ 只把 对象转字符串之后再encode字符串
let extraData_Str1 = 'extraData=' + encodeURIComponent(JSON.stringify(extraData))
console.log(extraData_Str1.length, extraData_Str1)
console.log('拼接1-----------', url_link + '?cq=' + extraData_Str1)
//✅ 对象转字符串之后再encode字符串,再encode整体,二次encode
let extraData_Str2 = encodeURIComponent('extraData=' + encodeURIComponent(JSON.stringify(extraData)))
console.log(extraData_Str2.length, extraData_Str2)
console.log('拼接2-----------', url_link + '?cq=' + extraData_Str2)
//❌ 分别encode
let extraData_Str3 = encodeURIComponent('extraData=') + encodeURIComponent(JSON.stringify(extraData))
console.log(extraData_Str3.length, extraData_Str3)
console.log('拼接3-----------', url_link + '?cq=' + extraData_Str3)
//❌ 对象转字符串,然后拼接参数,整体encode
let extraData_Str4 = encodeURIComponent('extraData=' + JSON.stringify(extraData))
console.log(extraData_Str4.length, extraData_Str4)
console.log('拼接4-----------', url_link + '?cq=' + extraData_Str4)
// ❌ 整体encode
let extraData_Str5 = encodeURIComponent(url_link + '?cq=extraData=' + JSON.stringify(extraData))
console.log(extraData_Str5.length, extraData_Str5)
console.log('拼接5-----------', extraData_Str5)
// ❓为什么只有第二种方法 微信小程序才能识别?二次encode不是没必要的吗?
有没有相关人员回答一下啊