Javascript 在ajax请求中传递日期值时出错

Javascript 在ajax请求中传递日期值时出错,javascript,jquery,ajax,date,http-post,Javascript,Jquery,Ajax,Date,Http Post,我正在尝试传递一个Datein ajax请求,这里是我的ajax调用 我正在获取日期2017年6月13日的价值 $("#txtpdate").on("changeDate", function (e) { var Date = $('#txtpdate').val(); $.ajax({ type: 'POST', contentType: false,

我正在尝试传递一个Datein ajax请求,这里是我的ajax调用 我正在获取日期2017年6月13日的价值

$("#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);

        }
我是否必须以JSON格式传递日期,或者我缺少的任何其他东西?
请提供帮助。

日期值中的
/
符号被解释为URL路径段分隔符。使用
数据
字段向您的操作发送任何值。例如使用

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

有关详细信息,请参见和。

之所以发生这种情况,是因为日期格式为dd/mm/y in/formate

$("#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);

        }
$(“#txtdate”)。在(“变更日期”,函数(e){
变量日期=$('#txtdate').val();
var newdate=日期。替换(“/”,“”);
$.ajax({
键入:“POST”,
contentType:false,
async:false,
url:'/api/ServiceProvider/GetUpdatedPrice/'+newdate,
缓存:false
}).完成(功能(响应){
});
[HttpPost]
[路线(“GetUpdatedPrice/{Date}”)]
公共异步任务GetUpdatedPrice(日期时间日期)
{
//再次将日期从“u”替换为“/”
return waiting ServiceProviderDocumentsGateway.GetUpdatedPriceofBike(日期);
}

这是因为日期有斜杠,就像路径斜杠一样,尝试对值进行url编码更改路线的注释,以便它可以接受日期的斜杠值。另一方面,不要使用
async:false
。我得到的值与2017年6月6日类似。您能告诉我一个工作API url的确切url格式吗?
$("#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);

        }