我正在尝试从我的Javascript发送数据到我的post方法控制器。我有knockout作为我的方法从Javascript绑定到我的视图。
这是我的控制器,convocationData在这里为空
public async Task<ActionResult> CreateConvocation(string convocationData)
{
string baseUrl = "http://localhost:8080";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(baseUrl);
下面是我尝试使用jQuery调用该方法的过程:
var tmpSession = self.addSession();
var tmpDescription = self.addDesc();
var convocationData = {
sessionCode: tmpSession,
description: tmpDescription
};
$.ajax({
url: '/Convocations/CreateConvocation',
type: 'POST',
dataType: 'json',
data: JSON.stringify(convocationData),
contentType: 'application/json',
success: function (data) {
self.Convocations.push(new Convocation(self.addSession(), self.addDesc()));
self.addDesc("");
self.addSession("");
},
error: function (err) {
alert(err.status + " : " + err.statusText);
}
});
1条答案
按热度按时间uqxowvwt1#
像这样添加
[FromBody]
属性你可以在这里阅读更多Accepting Raw Request Body Content with ASP.NET Web API
更新:
另外,阅读zgood对你帖子的评论,你应该创建一个相应的模型,而不是使用
JSON.stringify
,就像他在评论中描述的那样。更新2:
JS模型类
C# DTO类别
然后,您可以将您的操作方法更新为
和 AJAX 发布到以下内容:
我没有测试代码,但它应该工作。