gpt4 book ai didi

c# web api post 请求 null

转载 作者:行者123 更新时间:2023-11-30 16:50:42 25 4
gpt4 key购买 nike

使用 c# web api 服务器。

我的客户电话是这样的:

$.ajax({
type: method,
url: urls.server + url,
data: (method === "POST" ? '='+JSON.stringify(data) : data),
dataType: "json",
success: function(data){
callback(data);
},
error: function(err) {
onError(err);
}
});

我的 C# 服务器方法如下所示:

[HttpPost, Route("All/GetMyTeam")]
public POST_GetMyTeam_Response Post(GetMyTeam_Request request)
{
return new POST_GetMyTeam_Response();
}

现在,每当我使用“Advanced Rest Client”(Google 的 Chrome 插件)时,我的请求都很好。但是,如果我发送相同的请求(我在 chrome 的调试窗口中的网络区域中看到),有​​效负载是相同的,请求到达但其中的所有字段都是空的。

public class GetMyTeam_Request
{
public string UserId;
public string TeamId;
}

我也尝试从 json 客户端中删除 '=' 但我注意到大多数答案都导致了这个添加(虽然他们从来没有告诉它应该用撇号包裹,但否则它不起作用).试图在 ajax 请求的两个 header 或原样字段中添加 contentType-application/json..

TIA。

最佳答案

在您的 ajax 请求中指定

contentType: 'application/json'

而且你不需要在 json 字符串数据之前附加 "=" 字符串

data: (method === "POST" ? '='+JSON.stringify(data) : data),
//^^^^ here

删除 = 符号,它应该可以工作。

$.ajax({
type: method,
url: urls.server + url,
data: (method === "POST" ? JSON.stringify(data) : data),
dataType: "json",
contentType: 'application/json',
success: function(data){
callback(data);
},
error: function(err) {
onError(err);
}
});

关于c# web api post 请求 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34635337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com