gpt4 book ai didi

jquery - POST 到 WebAPI Controller 会导致参数为空

转载 作者:行者123 更新时间:2023-12-03 23:01:28 24 4
gpt4 key购买 nike

我正在尝试将 JSON 字符串发布到接受复杂类型作为参数的 WebAPI Controller ,但所有参数属性始终为 null。根据下面的代码,有什么想法吗?请求正确命中 WebAPI 方法,并且参数不为空,但其所有属性均为空。

编辑:如果我删除对 JSON.stringify() 的调用,参数属性将正确填充,但我的请求正文现在是查询字符串而不是有效的 JSON 对象,这不会飞,因为我的实际对象还包含一些子集合,这些子集合在作为查询字符串传递时不起作用。

型号

public class SavedViewData
{
public int UserID { get; set; }
public int? SavedID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}

JSON 请求正文(从 Fiddler 复制)

{"UserID":"1","SavedID":null,"Name":"Test","Description":"Description"}

WebAPI 操作

[HttpPost]
public int Save(SavedViewData viewData)
{
return 1;
}

jQuery $.ajax 调用

var view = {
UserID: userID,
SavedID: null,
Name: 'Test',
Description: 'Description'
};

$.ajax({
type: "POST",
url: '/api/save',
data: JSON.stringify(view),
contenttype: "application/json; charset=utf-8",
success: function (data) {
alert('success');
}
});

最佳答案

正如我所料,这是一件愚蠢的事情:

contenttype: "application/json; charset=utf-8",

应该是

contentType: "application/json; charset=utf-8",

字体中的“T”没有大写……已经过去了半天!

关于jquery - POST 到 WebAPI Controller 会导致参数为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770497/

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