使用Axios发送POST请求时持续返回[object Object]问题求助
问题分析与解决
你的问题出在两个关键地方:
模板字符串语法错误:你用单引号
'包裹了包含${变量}的内容,这会导致变量无法被解析,最终data里的每个属性值都是字面量的'${PRINTER}'这类字符串,而不是对应变量的实际值。模板字符串必须用反引号`包裹才能正常解析变量。Axios使用不当:Axios会自动将传入的JavaScript对象序列化为JSON格式,并且自动设置
Content-Type: application/json请求头,完全不需要手动调用JSON.stringify(),也不需要手动配置headers。手动传入字符串化后的JSON反而可能导致后端解析异常,出现[object Object]的错误。
修正后的代码如下:
const sendData = () => { let data = { printer: `${PRINTER}`, branch: `${BRANCHNAME}`, date: `${DATE_SHIBUTZ}`, track: `${TRACKCODE}`, sern: `${SERNUM}` } axios.post("server url", data) }
如果你的变量本身就是字符串类型,还可以省略模板字符串,直接赋值更简洁:
const sendData = () => { let data = { printer: PRINTER, branch: BRANCHNAME, date: DATE_SHIBUTZ, track: TRACKCODE, sern: SERNUM } axios.post("server url", data) }
另外建议添加请求结果的处理逻辑,方便调试排查问题:
const sendData = () => { let data = { printer: PRINTER, branch: BRANCHNAME, date: DATE_SHIBUTZ, track: TRACKCODE, sern: SERNUM } axios.post("server url", data) .then(res => console.log("请求成功:", res)) .catch(err => console.error("请求失败:", err)) }
内容的提问来源于stack exchange,提问作者milner236
相关产品推荐
相关产品推荐

