![](/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.