【发布时间】:2022-01-03 11:29:44
【问题描述】:
当我将商品添加到购物车时,我将购物车作为响应发回。没问题。这些代码在区域设置(我的电脑)中工作,返回响应 200。 但是当我将项目发送到托管时。当我将商品添加到购物车时,响应 204(Null) 。我没有解决这个问题。
BACKEND(.Net Core 3.1 ASPNET Web Api)
FrontEnd
import { message } from "antd";
export type ApiSuccessResponse<T> = {
ok: true;
data: T;
};
export type ApiErrorResponse = {
ok: false;
status: number;
message: string;
};
export type ApiResponse<T> = ApiSuccessResponse<T> | ApiErrorResponse;
export type RequestMethod = "DELETE" | "GET" | "PATCH" | "POST" | "PUT";
export async function request<T>(
uri: string,
method?: RequestMethod,
body?: any
): Promise<ApiResponse<T>> {
let token = localStorage.getItem("token");
const response = await fetch(`/api/${uri}`, {
method: method || "GET",
headers: {
"Content-Type": "application/json; charset=utf-8",
Authorization: "Bearer " + (token || ""),
},
body: body ? JSON.stringify(body) : undefined,
});
if (!response.ok) {
if (response.status === 401) {
localStorage.clear();
window.location.reload();
} else if (response.status === 500) {
const text = await response.text();
if (text && text.length) {
message.error(JSON.parse(text).message);
}
}
return {
ok: false,
status: response.status,
message: response.statusText,
};
}
const text = await response.text();
if (text && text.length > 0) {
const data = JSON.parse(text);
return { ok: true, data: data as T };
}
return { ok: true, data: null! };
}
```
【问题讨论】:
标签: c# api asp.net-core