![](/img/trans.png)
[英]No MediaTypeFormatter is available to read an object of type 'Product' from content with media type 'text/plain'
[英]No MediaTypeFormatter is available to read an object of type 'InventoryItem'
AJAX电话
$.ajax({
url: '/api/Inventory',
cache: false,
type: 'POST',
data: json,
contentType: 'application/json, charset=utf-8',
statusCode: {
201: function (data) {
console.log(data);
viewModel.items.push(data);
}
}
});
发送数据( json
)/请求有效负载
{"Id":0,"Upc":"3456789012","Quantity":"200","Category":"Vodka","TransactionType":"Audit","MetaData":"ABSOLUT 750ml"}
响应错误
没有MediaTypeFormatter可用于从媒体类型为“未定义”的内容中读取类型为“ InventoryItem”的对象。”
路由POST方法
public HttpResponseMessage PostItem(InventoryItem item)
JSON字符串中的所有属性都存在于InventoryItem
模型中。
关于复杂类型的类似问题建议从Beta升级到RC以修复模型绑定更改,我已经完成了。
如果问题不明显,如何纠正此错误? 如果将[FromUri]属性添加到Routed POST方法中,则AJAX调用将正确路由,但InventoryItem
为空。 如果您需要其他任何信息,请告诉我。
contentType: 'application/json, charset=utf-8',
应该:
contentType: 'application/json; charset=utf-8',
注意的用法;
而不是,
这是内容类型和字符集之间的正确分隔符。 同样,如果遵循标准的RESTful约定,则控制器动作应称为Post
而不是PostItem
如所示:
public HttpResponseMessage Post(InventoryItem item)
{
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.