У меня есть небольшая проблема в том, что строка, которую я читаю из файла cookie, прерывается после амперсанда. Так, например, строка «hello & world» просто отобразит «привет». Это строка, которая является коротким кодом и преобразуется в нечто более значимое с помощью функции переключения, а затем отображается в текстовом поле. Функция переключения работает нормально, но, очевидно, если она не считывает полную строку из файла cookie в первую очередь, тогда он не сможет найти короткий код в функции переключателя.Сломанная строка в cookie после ampersand (javascript)
В настоящее время я использую следующий код, чтобы прочитать куки ...
document.example.textfield.value = switchFunction(unescape(coalesce($_GET['example'],readCookie('_cookie'))));
Если вам нужно, чтобы я предоставить больше информации, пожалуйста, дайте мне знать. Это мой первый пост здесь, поэтому извиняйтесь заранее, если что-то не так или неясно.
Спасибо За вашу помощь.
EDIT
switchFunction выглядит следующим образом ..
function SwitchFuntion(Code){
switch(Code){
case 'text & text, Text' : return 'new meaningful text'; break;
}
}
и т.д ....
Функция readCookie, как это ...
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
Можете ли вы разместить пример строки запроса? Скорее всего, вы не кодируете его правильно - то есть 'myfile.htm? Foo = bar & s' вместо' myfile.htm? Foo = bar% 26s'. –
Несомненно. На самом деле это не URL-адрес, и мне не удается редактировать это значение, поскольку оно хранится в довольно безопасной базе данных, но оно принимает формат «текст и текст» (не &) – user500879
Я думаю, что на это нельзя ответить без знания switchFunction , coalesce, $ _ GET ['example'], readCookie - во многие неизвестные величины –