AngularJs,基于用户插入的可选参数来使用REST服务

时间:2016-04-17 07:15:03

标签: angularjs asp.net-web-api

我想根据用户输入(2个Html文本框)将可选参数传递给url,因此使用ASP.NET Web API,但我不知道如何。 这是我的控制器

[Route("api/JobShow/{keyword}/{location}")]    
public class JobShowController : ApiController
{

    [HttpGet]
    public PageResult<sp_JobSearch_Result> Get(ODataQueryOptions<sp_JobSearch_Result> options, string keyword = null, string location = null)
    {
        ODataQuerySettings settings = new ODataQuerySettings()
        {
            PageSize = 20
        };

        JobWindow obj = new JobWindow();
        IQueryable results = options.ApplyTo(obj.showJobs(keyword, location).AsQueryable(), settings);
        return new PageResult<sp_JobSearch_Result>(
           results as IEnumerable<sp_JobSearch_Result>,
           Request.GetNextPageLink(),
           Request.GetInlineCount());
    }
}

这是我的AngularJS控制器

angular.module('JobSearch.SiteController', []).controller('JobSearchCtrl', ['$scope', '$http', function ($scope, $http) {

$http.get('/api/JobShow').success(function (data) {
    $scope.model = data;
});
}]);

url的示例则是... / api / JobShow / Developer / Montreal。谢谢大家。

1 个答案:

答案 0 :(得分:0)

也许 this post可以帮到你。

在您的情况下,假设scope.data是您要发送的参数,它应该类似于以下内容

$http.get("/url/to/resource/", {params:{"param1": $scope.data, "param2": $scope.someOtherData}})
    .then(function (response) { /* */ })...