Javascript 在ajax请求中传递日期值时出错
我正在尝试传递一个Datein ajax请求,这里是我的ajax调用 我正在获取日期2017年6月13日的价值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,
$("#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);
}