【发布时间】:2016-04-10 16:10:27
【问题描述】:
使用 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();
}
现在,每当我使用 Google 的 Chrome 插件“高级休息客户端”时,我的请求都非常好。 但是,如果我发送同样的请求(我在 chrome 的调试窗口中的网络区域看到),有效负载是相同的,请求到达但里面的所有字段都是空的。
public class GetMyTeam_Request
{
public string UserId;
public string TeamId;
}
我还尝试从 json 客户端中删除 '=',但我注意到大多数答案都导致了这个添加(尽管他们从未告诉它应该用撇号包装,但否则它不起作用)。
尝试在 ajax 请求中的两个标头或原样字段中添加 contentType-application/json ..
TIA。
【问题讨论】:
标签: c# web-applications asp.net-web-api