2016-04-17 3 views
0

ユーザー入力(2 Html Text Boxes)に基づいてURLにオプションのパラメータを渡したいのでASP.NET Web APIを使用しますが、方法を知っている。 これは私のコントローラAngularJs、ユーザーが挿入したオプションのパラメータに基づいてRESTサービスを使用する

[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コントローラのURLの

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

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

例で次のようになり.../API/JobShow /開発/モントリオール。皆さん、ありがとうございました。

+0

'$ http.get( '/ API/JobShow /' + $のようになりますscope.enteredKeyword + '/' + $ scope.enteredLocation) '?具体的な難しさは何ですか?これらのパラメータがオプションの場合は、パスの一部ではないことに注意してください。代わりに、クエリ文字列の一部にする必要があります。 –

+0

はいパラメータはオプションです。私はあなたがここで述べたのと同じことをしましたが、うまくいきませんでした。ここでクエリ文字列はどういう意味ですか? –

+0

私は 'api/JobShow?keyword = foo&location = bar'のようなURLにリクエストを送信することになるパラメータを意味します。コードを見ることなく、具体的な問題が何であるか教えてくれることなく、あなたのコードを助けることはできません。 –

答えて

0

this postがお手伝いします。あなたのケースでは

は、そのscope.dataあなたはñを送信するパラメータであると仮定すると、それは次のよう

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