2016-05-23 3 views
2

data.jsКак передать массив строк в C# web api из AngularJS?

Мой метод вызова:

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 (который содержит строки) для контроллера веб-API GetCompanyData.

Мой WebApiConfig.cs имеет следующий маршрут:

config.Routes.MapHttpRoute(
       name: "ApiByMultiParams", 
       routeTemplate: "api/{controller}/{action}/{Id}/{stmtDate}" 
      ); 

Проблема, в то время как пытается передать массив данных, когда она попадает метод веб-контроллер API: GetCompanyData, stmtDate не получает массив и подходит как null. Также я был бы признателен за любые предложения о том, как преобразовать дату и время, которое находится в формате: 2014-12-12 00:00:00 to 2014-12-12 (в AngularJS).

ответ

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; 

} 
+0

Я пробовал это, но у меня 404 ошибка. Мне нужно изменить webapiconfig.cs соответственно, если я хочу дать этот путь? – sujai

+0

да, это должно быть 'api/{controller}/{action}/{Id}' – aseferov

+0

, как бы это взяло мой второй параметр stmtDate, если я даю только Id в webapiconfig? – sujai

Смежные вопросы