Web API通过Java Script将对象发送到Controller

时间:2015-09-08 02:55:15

标签: c# jquery angularjs asp.net-web-api

我正在使用 Angular / C#Web API。

在我的JavaScript 服务中,我有以下内容。

invoicesForCustomer = $http.get('/api/Customer/GetInvoicesForCustomer',
{params:element} );

在Web API控制器

[HttpGet]
public InvoiceListModel GetInvoicesForCustomer(InvoiceListOptionsModel element)

但此元素对象始终为null。我尝试了一个参数,它工作。 有关通过查询字符串将对象发送到Web API控制器的任何帮助..

3 个答案:

答案 0 :(得分:1)

从你的api定义

看来你需要它作为数据而不是查询参数

$http({
    url: "/api/Customer/GetInvoicesForCustomer", 
    method: "GET",
    data: {'element': element}
 });

答案 1 :(得分:0)

更改

invoicesForCustomer = $http.get('/api/Customer/GetInvoicesForCustomer', {params:element} );

invoicesForCustomer = $http.get('/api/Customer/GetInvoicesForCustomer', {"element":element} );

更新:请尝试按以下方式调用API

$http({
    url: "/api/Customer/GetInvoicesForCustomer", 
    method: "GET",
    params: {element: element}
 });

答案 2 :(得分:0)

您好请尝试将[HttpGet]更改为[HttpPost]。还有你的

$http({
    url: "/api/Customer/GetInvoicesForCustomer", 
    method: "GET", ---> This should be post too
    data: {'element': element}
 });