Joomla!заставляет мой конкат плюс "+" на "% 20" - PullRequest
0 голосов
/ 25 мая 2018

У меня есть эта многострочная строка, состоящая в основном из HTML, поэтому я решил использовать одиночные кавычки в качестве разделителей.

Для краткости я удалил большую часть HTML из строки, чтобы просто сфокусироватьсяна части ошибки.

jQuery("#myModal .modal-content").html('<div class="modal-header">' +
      '<h4 class="modal-title" id="myModalLabel">Duplicate Entry Found!</h4></div>' +
      '<a type="button" href="index.php?layout=studentprofile&id=' + studentid +'" target="_blank">View Student Profile</a>' );

Происходит следующее: сервер кодирует код и удаляет знаки плюс + и добавляет %20 вместо него .

ЕслиЯ пишу конкатенацию как ...studentprofile&id=' + studentid +" (т.е. с пробелами), вывод будет ...id='%20%20%20studentid%20%20%20'"

И если I удалить все пробелы между строками и знаком плюс, как ...studentprofile&id='+studentid+" затем вывод становится ...id='%20studentid%20'"

Одним интересным наблюдением является то, что это происходит только для одиночных кавычек, и если я просто переключу запятые, он вернется к правильной работе.

Другие вещиЯ хотел бы добавить, что этот код используется для безупречной работы на предыдущих установках LAMP, но я недавно обновил весь стек, поэтому не знаю, язык webserver или php, или даже мой фреймворк, которыйКстати, Joomla! вводит это поведение.

Еще одно открытие: Это происходит только для плюсов вокруг переменной studentid, остальная часть строки с их плюсамиработает отлично.

ОК, мне кажется, что-то здесь есть, очевидно, это вина Joomla! Сейчас найден другой аналогичный вопрос .

1 Ответ

0 голосов
/ 25 мая 2018

Попробуйте отрывной фрагмент.Это работает:

var studentid = '2';

console.log(
'<div class="modal-header">' +
      '<h4 class="modal-title" id="myModalLabel">Duplicate Entry Found!</h4></div>' +
      '<a type="button" href="index.php?layout=studentprofile&id=' + studentid +'" target="_blank">View Student Profile</a>'
);
...