我從客戶端發送JSON對象,但是當我得到我的模型時,所有屬性都使用默認值綁定。MVC 4通過POST數據發送json對象
我嘗試一些方法,例如我得到的數據作爲字符串,但沒有結果我的預期。 那麼我該如何解決這個問題?
的Web API配置
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;
config.Formatters.Remove(config.Formatters.XmlFormatter);
}
型號
[Serializable]
public class WorkerPuantaj
{
public int workT { get; set; }
public int PDay { get; set; }
public int PMonth { get; set; }
public int PYear { get; set; }
public int worker { get; set; }
}
客戶端請求
$.ajax({
url: "/api/BuildingApi/AddPuantajItems",
dataType: "json",
contentType: "application/json; charset=utf-8",
type: 'POST',
data: JSON.stringify(jsonData),
success: function (data) {
alert("oldu");
},
error: function (a, b, c) {
alert("olmadı");
}
});
JSON正在發送
「[{」 workT 「:1,」 PDAY 「:20,」 PMonth 「:4」,PYear 「:2014,」 工人 「:3},{」 workT「: 2, 「PDAY」:21, 「PMonth」:4 「PYear」:2014, 「工人」:3},{ 「workT」:3 「PDAY」:22, 「PMonth」:4「,PYear 「:2014年, 「工人」:3}]
現在不可能回答這個問題。你發送給服務器的實際數據是什麼樣的?你的服務器端方法是什麼樣的? –
你可以看到有問題,所以我發送了「[{」workT「:1,」PDay「:20,」PMonth「:4,」PYear「:2014,」worker「:3},{」workT「:2 「PDAY」:21, 「PMonth」:4 「PYear」:2014, 「工人」:3},{ 「workT」:3 「PDAY」:22, 「PMonth」:4 「PYear」:2014 ,「worker」:3}]「 – acebisli
我在反序列化JSON時遇到過類似於此的問題。嘗試將'AddPuantajItems'的方法參數聲明爲'List'而不是'WorkerPuantaj []'。 –