我似乎在这个问题上兜圈子,从我的搜索中,我似乎只能找到更“复杂”问题的解决方案。
我想把一个int和一个JSON字符串数组传递给API,然后处理它们。但是,它说字符串的格式不正确。所以我试着把它简化为只处理一个简单的字符串,但是它只是返回null。id被很好地拾取,如果我把返回改为id,它就会传递回去,但是对于items,它总是说它是null。
查看请求,有效负载看起来很好。
标题
负载
响应
浏览
JavaScript(JQuery)
function saveHealthCheck() {
var cID = $('#<%= hfHealthCheck.ClientID %>').val();
var jsonstr = '"Hello World!"'
$.ajax({
url: '<%= ResolveUrl("~/api/AppliesTo/") %>' + cID,
dataType: 'application/json',
data: jsonstr,
type: 'PUT',
success: function (data) {
alert(data);
}
});
}
字符串
C# API
public string Put(int id, [FromBody] string items)
{
//Just to test
return items;
}
型
2条答案
按热度按时间42fyovps1#
你不能通过POST或PUT把字符串作为对象传递。你的选择是把它 Package 成一个数据对象。
例如,更新的JS脚本:
字符串
数据模型类:
型
更新API:
型
vof42yt12#
我不知道为什么这与其他人的建议不同,但这是有效的。
JavaScript
字符串
API
型
型号
型
感谢您在解决这个问题上的投入。