如何在angularjs中将2个参数传递给$ http?

时间:2014-11-20 14:10:48

标签: asp.net-mvc angularjs

我有Web api控制器:

[HttpPost]
public void SetAt(int id,TableModel idModel)
{
    table[id] = idModel;
}

我尝试借助方法

访问它
$http.post("http://localhost:58652/api/Values/SetAt", data);

但我不知道如何将数据传递给$ http.post正常工作的方法。

数据:

  • 适用于id =0;
  • 适用于idModel={ field: "Id", width: 200 };

怎么做?

1 个答案:

答案 0 :(得分:2)

这应该有效:

var data = {
        id: 0,
        idModel: {
            field: "id",
            width: 200
        }
    };

$http.post("http://localhost:58652/api/Values/SetAt", data);

基本上,JavaScript对象中的属性应与C#方法的参数匹配。所以

  • “id”将映射到“int id”(值为0)和
  • “idModel”将映射到“TableModel idModel”(属性“field”和“width”分别设置为“id”和“200”)

我没有使用过很多Web API控制器,你可能需要在路由中传递“id”(取决于你的设置),这会使你的代码看起来像这样:

var id = 0,
    data = {
        field: "id",
        width: 200
    };

$http.post("http://localhost:58652/api/Values/SetAt/" + id, data);