2017-06-05 15 views
0

は私のAJAX呼び出し である私は、ここにある日付の値2017年6月13日取得エラーは、私がここにDateinのAJAXリクエストを渡すようにしようとしています

$("#txtpdate").on("changeDate", function (e) { 
      var Date = $('#txtpdate').val(); 

      $.ajax({ 
       type: 'POST', 
       contentType: false, 
       async: false, 
       url: '/api/ServiceProvider/GetUpdatedPrice/' + Date, 
       cache: false 
      }).done(function (response) { 



      }); 

とを取得しています私のコントローラは

[HttpPost] 
     [Route("GetUpdatedPrice/{Date}")] 
     public async Task<ServiceProviderDocuments> GetUpdatedPrice(DateTime Date) 
     { 
      return await ServiceProviderDocumentsGateway.GetUpdatedPriceofBike(date); 

     } 

が、私はこのエラー

**http://localhost:54850/api/ServiceProvider/GetUpdatedPrice/06/13/2017 404 (Not Found)** 
を取得しています

私はJSON形式で日付を渡す必要がありますか、私は行方不明ですか? 助けてください。

+4

が、これは日付becouseスラッシュを持っているので、パスのスラッシュのように、なるように値があなたのルートの注釈をCHAGE – user3227295

+0

URLエンコードしてみてください起こっています'Date'にスラッシュされた値を受け入れることができます。サイドノートでは、 'async:false'を使わないでください。 – 31piy

+0

私はこのような価値を得ています。06/06/2017 –

答えて

0

日付値の/シンボルは、URLパスセグメント区切り文字として解釈されます。 dataフィールドを使用して、アクションに値を送信します。例えば

$.ajax({ 
    type: 'POST', 
    contentType: false, 
    async: false, 
    url: '/api/ServiceProvider/GetUpdatedPrice/', 
    data: {Date: DateValue} 
}); 

を使用する詳細についてはjQuery.ajax() documentationw3schoolsを参照してください。

0

これは/ギでDD/MM/Yでフォーマットさ日付

$("#txtpdate").on("changeDate", function (e) { 
      var Date = $('#txtpdate').val(); 
      var newdate = Date.replace("/", "_"); 

      $.ajax({ 
       type: 'POST', 
       contentType: false, 
       async: false, 
       url: '/api/ServiceProvider/GetUpdatedPrice/' + newdate, 
       cache: false 
      }).done(function (response) { 



      }); 


      [HttpPost] 
     [Route("GetUpdatedPrice/{Date}")] 
     public async Task<ServiceProviderDocuments> GetUpdatedPrice(DateTime Date) 
     { 

    // again replace date from '_' to '/' 

      return await ServiceProviderDocumentsGateway.GetUpdatedPriceofBike(date); 

     } 
関連する問題