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, хотя это не работает. Это отправляет это на сервер:

https://xxxxxxx.com/xxxxxx/?startdate=2018-02-28&adults1=1&children1=0&enddate=%E2%80%8E2018-%E2%80%8E03%E2%80%8E-%E2%80%8E01%E2%80%8E

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 тоже избавиться от кодировки но безуспешно.

Любые предложения о том, как правильно отформатировать последнюю строку даты без кодировки, будут крайне приветствоваться.

0 ответов

Другие вопросы по тегам