У меня есть переключатель выбора языка на моей странице html и по выбору языка, который я вызываю на тот же URL-адрес, добавляющий '? Lang ='. Это я делаю через js, и когда URL отправлен, & заменяется на?. Ниже приведен код js.Javascript url.location & заменен на?
function removeBookmarkFromUrl(url) {
var arr = url.split("#");
return arr[0];
}
$(document).ready(function() {
$('input:radio[name=lang]').change(function() {
var url = window.location.href;
var selectedLang = $(this).attr('id');
url = removeBookmarkFromUrl(url);
if (url.indexOf('?lang') >= 0 || url.indexOf('&lang') >= 0) {
var pos = (url.indexOf('?lang') >=0) ? url.indexOf('?lang') : url.indexOf('&lang');
var currentLang = url.slice(pos + 6, pos + 8);
if (url.charAt(pos) == '?') {
url = url.replace('?lang=' + currentLang, '?lang=' + selectedLang);
window.location = url;
} else if (url.charAt(pos) == '&') {
url = url.replace('&lang=' + currentLang, '&lang=' + selectedLang);
window.location = url;
}
} else {
if (url.indexOf('?') >= 0) {
window.location = url + '&lang=' + selectedLang;
} else {
window.location = url + '?lang=' + selectedLang;
}
}
});
});
Теперь, когда я делаю выбор языка URL-адрес в браузере http://localhost:8080/test/report.htm?count=40&name=jerry?lang=en. Я отлаживал код и видел, что URL-адрес был http://localhost:8080/test/report.htm?count=40&name=jerry&lang=en, но это меняется при подаче.