1

我不知道,因为当我按角度发帖时,不会填充对象,例如类别或状态。只是产品。但是,请注意Request.Form 列表中的信息。未正确执行活页夹。我究竟做错了什么?是否有任何 web api 配置?我已经尝试通过 application/json,[frombody] 发送数据......我没有选择。提前致谢。

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;
    }


模型图像

请求图片

4

4 回答 4

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
    });
于 2015-11-12T13:51:32.613 回答
0

没有办法做到这一点。

要么我创建一个自定义模型绑定器,要么让新的 web api 6 mvc 始终使用frombody并通过 json 强制发送。

至少那是我对测试所做的。它只发送 json 并使用frombody.

文档确实改变了将这个新集成模型的 web api 2 绑定到 MVC。

于 2015-11-12T18:55:02.817 回答
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# 对象。

尝试匹配键/值对通常只是对复杂对象的疯狂。

于 2015-11-12T17:05:22.667 回答
0

Or you could use the shortcut method:

$http.post('api/produto', data).then(successCallback, errorCallback);
于 2015-11-12T14:06:56.430 回答