React Native WebView发送POST请求携带JSON对象数组问题咨询
解决React Native中POST请求发送JSON对象数组的问题
别担心,这个问题其实很好搞定!你说的没错,React Native的fetch API要求body参数必须是字符串,不能直接传JSON对象或数组,但我们只要做两步简单的转换就能解决:
- 第一步:用
JSON.stringify()把你的对象数组转换成JSON格式的字符串 - 第二步:设置请求头
Content-Type: application/json,明确告诉后端你发送的是JSON数据
下面给你一个完整的代码示例,一看就明白:
// 先准备好要发送的对象数组 const targetData = [ { id: 1, title: "商品A", price: 99 }, { id: 2, title: "商品B", price: 199 } ]; // 发送POST请求 fetch('你的接口URL地址', { method: 'POST', headers: { 'Content-Type': 'application/json', // 这一步非常关键,后端靠这个头来正确解析数据 // 如果接口需要权限认证,还可以在这里添加Authorization头,比如: // 'Authorization': 'Bearer ' + yourAuthToken }, body: JSON.stringify(targetData) // 把对象数组转成JSON字符串 }) .then(response => { if (!response.ok) { throw new Error(`请求失败,状态码:${response.status}`); } return response.json(); }) .then(result => { console.log('接口返回结果:', result); // 这里处理请求成功后的业务逻辑 }) .catch(error => { console.error('请求出错:', error); // 这里处理请求失败的异常逻辑 });
小提醒
- 要确保后端接口已经支持接收JSON格式的请求,不然即使你发送的数据格式正确,后端也可能解析失败
- 如果遇到报错,可以先检查请求头是否正确,或者用调试工具(比如Charles)抓包看看实际发送的body内容是否符合预期
内容的提问来源于stack exchange,提问作者Joseph
相关产品推荐
相关产品推荐

