IE и Edge отправляют закодированный URL на сервер
Я пытаюсь отправить некоторые параметры из формы бронирования на сайт онлайн-компании по бронированию. Идея состоит в том, чтобы быстро перенаправить посетителя на сайт с указанием даты и даты плюс один день (в JavaScript) для бронирования в качестве отправной точки.
Все отлично работает в Chrome и Firefox. В IE и Edge, хотя конечная дата отправляется с кодировкой таким образом:
https://xxxxxxx.com/xxxxxx/?startdate=2018-02-28&adults1=1&children1=0&enddate=2018-3-01
Который прекрасно работает из Chrome и т. Д. После того, как это было сгенерировано в IE или Edge, хотя это не работает. Это отправляет это на сервер:
jQuery(document).ready(function () {
jQuery('#book-room').click(function () {
var term = jQuery('#fromdate').val();
var dateAr = term.split('/');
var newFromDate = dateAr[2] + '-' + dateAr[1] + '-' + dateAr[0].slice(-2);
// Plus One Date:
var myDate = new Date(newFromDate);
myDate.setDate(myDate.getDate(term) + 1);
var plusOneDate = myDate.toLocaleString( 'en-GB', { year: 'numeric', month : 'numeric', day : '2-digit' } );
var newDay = plusOneDate.replace(/\//g, '-');
var dateAr2 = newDay.split('-');
var newPlusOneDate = dateAr2[2] + '-' + dateAr2[1] + '-' + dateAr2[0].substr(0);
window.open(decodeURIComponent("https://xxxxxxx.com/xxxxxx/?startdate=" + newFromDate + "&adults1=" + newAdults + "&children1=" + newChildren + "&enddate=" + newPlusOneDate), "_blank");
});
})
newPlusOneDate
переменная, которая вызывает все проблемы. Он должен быть в формате 2018-3-01, который требуется на другом конце. Форма даты отлично работает везде.
Единственный способ получить дату + один день (newPlusOneDate
) переменная, которая должна быть правильно отформатирована, использовала toLocaleString()
функционировать и нарезать его. Там должен быть более простой способ.
Я пытался использовать decodeURIComponent
а также decodeURI
тоже избавиться от кодировки но безуспешно.
Любые предложения о том, как правильно отформатировать последнюю строку даты без кодировки, будут крайне приветствоваться.