c# web api post 请求空
c# web api post request null
使用 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 的调试 window 中的网络区域中看到),有效负载是相同的,请求到达但其中的所有字段都是空的。
public class GetMyTeam_Request
{
public string UserId;
public string TeamId;
}
我也尝试从 json 客户端中删除 '='
但我注意到大多数答案都导致了这个添加(尽管他们从来没有告诉它应该用撇号包裹,但除此之外它不是在职的 )。
试图在 ajax 请求的 headers 或 as-is 字段中添加 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 服务器。
我的客户电话是这样的:
$.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 的调试 window 中的网络区域中看到),有效负载是相同的,请求到达但其中的所有字段都是空的。
public class GetMyTeam_Request
{
public string UserId;
public string TeamId;
}
我也尝试从 json 客户端中删除 '='
但我注意到大多数答案都导致了这个添加(尽管他们从来没有告诉它应该用撇号包裹,但除此之外它不是在职的 )。
试图在 ajax 请求的 headers 或 as-is 字段中添加 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);
}
});