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

CapacitorHttp.post在移动设备/模拟器上无法发送JSON数据的原因

问题分析与解决方案

你的POST请求体为空的核心原因是缺少Content-Type: application/json请求头,服务器无法识别请求体的格式,因此无法解析你发送的JSON数据。

虽然你设置了accept头(告诉服务器你接受JSON格式的响应),但没有明确告知服务器你发送的请求体是JSON类型。Capacitor HTTP插件在这种情况下不会自动添加Content-Type头,导致数据没有被正确序列化为JSON字符串发送。

修复后的代码

import { CapacitorHttp } from '@capacitor/core';

async test() {
  const options = {
    url: 'https://httpbin.org/post',
    headers: { 
      'accept': 'application/json',
      'Content-Type': 'application/json' // 新增此请求头
    },
    data: {
      "foo": "bar"
    },
  };

  const response = await CapacitorHttp.post(options);
  console.log(response.data);
}

额外说明

如果后续需要发送表单数据(application/x-www-form-urlencoded),则需要将Content-Type设置为对应值,并确保data是键值对形式的普通对象,插件会自动处理序列化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:57:35