Angularjs 过帐时未设置参数

Angularjs 过帐时未设置参数,angularjs,post,asp.net-web-api,Angularjs,Post,Asp.net Web Api,我有一个MVC web API端点 [HttpPost] public ReadQuoteForClientIdResponse ReadQuoteForClientId ( ReadQuoteForClientIdRequest readQuoteForClientIdRequest ) { return new ReadQuoteForClientIdResponseMapper().Map ( new Read

我有一个MVC web API端点

[HttpPost]
public ReadQuoteForClientIdResponse ReadQuoteForClientId
        (
        ReadQuoteForClientIdRequest readQuoteForClientIdRequest
        )
{
    return new ReadQuoteForClientIdResponseMapper().Map
    (
        new ReadQuoteWorkflowHelper().ReadForClientId(readQuoteForClientIdRequest.ClientId)
    );
}
端点将
ReadQuoteForClientIdRequest
作为参数

public class ReadQuoteForClientIdRequest
{
    public int ClientId { get; set; }
}
我正在尝试做一个简单的post,并且正在到达控制器,但是由于某些原因,
ClientId
始终为0

function quoteGridController($scope, $http) {
$scope.quotes = [];

$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
$http.post("http://localhost:57048/service/Quote/ReadQuoteForClientId", { "ClientId": "2" })
    .success(function(data) {

    })
    .error(function(data) {
    alert("Error occured " + data);
});
}

好的,我将参数传递给了
$。Param
解决了问题

$http.post("http://localhost:57048/service/Quote/ReadQuoteForClientId", $.param({ "ClientId": 2 }))
    .success(function(data) {

    })
    .error(function(data) {
    alert("Error occured " + data);
});