React Native Axios 正在发送整个对象,而不仅仅是值

问题描述 投票:0回答:1

这让我发疯。我只是尝试将日期发布到我的 api,但收到“JSON 值无法转换为 System.DateTime”的 json 错误。

axios或React Native没有发送我的对象的值的原因。它正在发送我的 api 无法解析的键和值。

这是我的约会对象

date = new Date().toISOstring()

,输出 
"2024-01-07T02:23:08.805Z"

这是控制台日志显示我的日期,这不是我所期望的。我只期望值而不是关键

{"date": "2024-01-07T02:23:08.805Z"}
这是我的 api 端点

public async Task<IActionResult> GetAssignmentsByDate([FromBody] DateTime date)
这是请求

await ApiManager("Assignments/GetAssignmentsByDate" ,{ method: 'POST', headers: { 'content-type': 'application/json' }, data: date }) .then(res => { return res}) .catch(err => handleErrorResponse(err));
这是该请求的日志

Object { "adapter": Array [ "xhr", "http", ], "baseURL": "https://myendpoint/api/", **"data": Object { "date": "2024-01-07T02:23:08.805Z", },** "env": Object { "Blob": [Function Blob], "FormData": [Function FormData], }, "headers": Object { "Accept": "application/json, text/plain, */*", "Content-Type": "application/json", }, "maxBodyLength": -1, "maxContentLength": -1, "method": "post", "responseType": "json", "timeout": 0, "transformRequest": Array [ [Function transformRequest], ], "transformResponse": Array [ [Function transformResponse], ], "transitional": Object { "clarifyTimeoutError": false, "forcedJSONParsing": true, "silentJSONParsing": true, }, "url": "Assignments/GetAssignmentsByDate", "validateStatus": [Function validateStatus], "withCredentials": true, "xsrfCookieName": "XSRF-TOKEN", "xsrfHeaderName": "X-XSRF-TOKEN", }
如果您注意到

**"data": Object { "date": "2024-01-07T02:23:08.805Z", },**
正在发送整个对象。

如果我将请求中的

data:date

交换为
data: '2024-01-07T02:23:08.805Z'
明确然后它按预期工作

有人可以向我解释一下 React Native 和 Axios 幕后发生的事情吗?

reactjs react-native asp.net-core axios expo
1个回答
0
投票
按如下方式使用您的对象

const [date, setDate] = useState("");
然后传入日期对象并确保发送时不带任何 {},因为我根据对象的外观 {} 假设这就是您正在做的事情

"data": Object { "date": "2024-01-07T02:23:08.805Z", }
然后它应该可以工作

export const SendtheDate = async date =>{ console.log(date) }
    
© www.soinside.com 2019 - 2024. All rights reserved.