Я считаю себя новичком в веб-разработке, и я столкнулся с некоторыми проблемами с вводом линейных перерывов в textarea.
Мой код выглядит следующим образом (чистый javascript)
function upldNot(){
xhttp = new XMLHttpRequest();
var d = document.getElementById("textarea-input").value;
d = d.replace(/(\n|\r\n)/g, "<br>$1"); // added this line to break lines
xhttp.onreadystatechange = function(){
if(this.readyState == 4 && this.status == 200){
document.getElementById("output").innerHTML = this.responseText;
}
};
xhttp.open("GET","upload_not.php?d="+d, true);
xhttp.send();
}
Моя цель - отправить входные данные из текстового поля в php.file, который загружает его в базу данных, а затем отображает все строки из таблицы. (Это прекрасно работает)
Кроме того, когда входные данные содержат "enter", он должен быть прочитан как разрыв строки. Мой код отлично работает в IE, но не в Chrome. Chrome возвращает следующее сообщение:
[Устаревание] Запросы ресурсов, URL-адреса которых содержат как удаленные символы whitespace (\n
, \r
, \t
), так и символы меньшего размера (<
), блокируются. Удалите новые строки и закодируйте меньше символов из таких мест, как значения атрибутов элемента, чтобы загрузить эти ресурсы. Подробнее см. Https://www.chromestatus.com/feature/5735596811091968.
Я даже не уверен в этом, что это значит. Не могли бы вы дать мне подсказку или другие решения, которые поддерживаются большинством браузеров?
Большое спасибо, и очень жаль этого глупого вопроса.
Содержимое, которое вы добавляете к себе, содержит html-элементы <br/>
, и в соответствии с ошибкой chrome он не разрешает такое содержимое в запросе url, отправленном из браузера.
Вы можете попробовать encodeURI (d), прежде чем добавлять его в URL.
xhttp.open("GET","upload_not.php?d="+encodeURI(d), true);