2015-11-12 159 views
1

我不知道,因爲當我按角度做一篇文章時,沒有填充對象,例如類別或狀態。只是產品。 但是請注意,Request.Form列表中的信息就在那裏。 活頁夾未正確執行。 我在做什麼錯? 它是任何Web API配置? 我試過通過application/json發送數據,[frombody] ...我沒有選擇。 在此先感謝。asp.net 5/mvc 6/model binder/angular

var product = { 
 
    id: 1, 
 
    name: "Name", 
 
    categories: [ 
 
    { id: 1, name: "name 1" }, 
 
    { id: 2, name: "name 2" } 
 
    ], 
 
    status: { id: 1, name: "active" } 
 
}; 
 

 
var config: ng.IRequestConfig; 
 
config = { url: "", method: "POST", headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;' } }; 
 

 
self.$http.post("api/produto", $.param(product), config) 
 
.success(function() { 
 
    alert("OK"); 
 
});

[HttpPost] 
    public ProductInfo Post(ProductInfo item) 
    { 
     return item; 
    } 


model image

request image

回答

0

試試這個:

$http({ 
     url: "api/produto", 
     method: "POST", 
     data: product, 
     headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
    }) 
    .then(function(response) { 
      // success 
    }, 
    function(response) { // optional 
      // failed 
    }); 
0

或者你可以使用快捷方法:

$http.post('api/produto', data).then(successCallback, errorCallback); 
0

這裏是我想嘗試

var product = { 
    id: 1, 
    name: "Name", 
    categories: [ 
    { id: 1, name: "name 1" }, 
    { id: 2, name: "name 2" } 
    ], 
    status: { id: 1, name: "active" } 
}; 

var config: ng.IRequestConfig; 
config = { url: "", method: "POST", headers: { 'Content-Type': 'application/json;charset=utf-8;' } }; 

self.$http.post("api/produto", product, config) 
.success(function() { 
    alert("OK"); 
}); 

什麼不同的是,我發送實際的JavaScript對象和它將被序列化爲JSON。 Web API將能夠將JSON反序列化爲純C#對象。

試圖匹配鍵/值對通常只是在複雜的對象上瘋狂。

0

沒有辦法做到這一點。

要麼我創建一個自定義模型聯編程序,要麼我會有新的web api 6 mvc總是使用frombody並強制json發佈。

至少這就是我對我的測試所做的。 它只是發送json和使用frombody

該文檔,真正改變綁定到這個新的集成模型MVC的web API 2。