data.js
我的方法电话:
var dateCollection = ["2014-12-12,"2013-12-12"];
getCompanyData(1,dateCollection);
var getCompanyData = function (Id, stmtDate)
{
var promise = $http.get(baseUrl() + "api/Search/CompanyData/" + Id + "/" + stmtDate)
.success(function (data, status, headers, config) {
return data;
})
.error(function (data, status, headers, config) {
return data;
});
return promise;
}
SearchController.cs
[ActionName("CompanyData")]
[HttpGet]
public async Task<IHttpActionResult> GetCompanyData(string Id , string[] stmtDate)
{
}
我需要将stmtDate
(包含字符串)的数组发送到GetCompanyData
Web API控制器。
我的WebApiConfig.cs
有以下路线:
config.Routes.MapHttpRoute(
name: "ApiByMultiParams",
routeTemplate: "api/{controller}/{action}/{Id}/{stmtDate}"
);
问题在于,在尝试传递数据时,当它遇到Web API控制器方法时:GetCompanyData
,stmtDate
没有收到数组,它将以{{ 1}}。另外,我将非常感谢有关如何转换日期时间的任何建议,其格式为:null
(在AngularJS中)。
答案 0 :(得分:1)
你正在尝试在url字符串的末尾添加数组。将日期作为参数发送
var getCompanyData = function (Id, stmtDate) {
var promise = $http.get(baseUrl() + "api/Search/CompanyData/" + Id, {
params: {
date: stmtDate
}
}
).success(function (data, status, headers, config) {
return data;
})
.error(function (data, status, headers, config) {
return data;
});
return promise;
}