这让我发疯。我只是尝试将日期发布到我的 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 幕后发生的事情吗?
const [date, setDate] = useState("");
然后传入日期对象并确保发送时不带任何 {},因为我根据对象的外观 {} 假设这就是您正在做的事情
"data": Object {
"date": "2024-01-07T02:23:08.805Z",
}
然后它应该可以工作
export const SendtheDate = async date =>{
console.log(date)
}