В этой статье описывается функция побега, решающая проблему искаженного кода в Ajax в JS., И она передается вам для вашей ссылки. Конкретные методы следующие:
1. Описание проблемы:
Первоначально, Escape () в веб-странице URL-адреса Специальных эффектов, закодированный на китайском языке в соответствии с набором символов ISO-8859-1. Таким образом, параметры запроса могут быть непосредственно получены через request.getParameter (), но более поздний JavaScript заменил escep () на набор символов Unicode. Таким образом, параметры запроса не могут быть получены непосредственно в учебном пособии и сервлете JSP, и я не знаю конкретной причины.
2. Решение:
1. Во -первых, дважды кодируйте китайских иероглиф. Если вы хотите передать имя параметра, а значение - «Привет», формат URL - это .... name = Escape (Escape («Привет»)). Таким образом, кодируемые параметры могут быть получены в request.getParameter ().
2. Поскольку полученные параметры находятся в формате %25U4F60 %25U597D, невозможно использовать обычный urldeCoder.decode () для декодирования. К счастью, в этом мире достаточно людей. Я напрямую нашел класс инструментов в Интернете, который может реализовать Escape () и Unescape ()-стиль кодек в JavaScript.
Скопируйте код следующим образом: <script language = "javascript">
Функция get (id) {return document.getElementByid (id) .value}
Функция настройки ()
{
var xmlhttp;
if (window.activexobject)
{
xmlhttp = new ActiveXobject ("microsoft.xmlhttp")
}еще{
xmlhttp = new xmlhttprequest ();
}
xmlhttp.onreadystatechange = function ()
{
if (xmlhttp.readystate == 4)
{
if (xmlhttp.status == 200)
{
оповещение ("Успех!")
}еще{
Alert (xmlhttp.status)
}
}
}
var url = "action.asp Turniory? action = setting & rnd ="+math.random ()
xmlhttp.open ("post", url, true)
var SendDate = "title ="+rescep (get ("title"))+"& conn_way ="+rescep (get ("conn_way"))+"& databaseName ="+ascain (get ("databaseName"))+"& sqlusername ="+escap (get ("sqlusername"))+"& sqlasswrade ="+esce ape (get ("sqlpassword"))+"& sqlllocalname ="+rescep (get ("sqlllocalname"))+"& pg_size ="+escape (get ("pg_size"))+"& adminid ="+escape (get ("adminid"))+"& adminp ="+arving (get (get ("adminid")+"& adminp ="+ascaving (get (get ("adminid")+"& adminpwd =".
2727 xmlhttp.setrequestheader ('content-type', 'application/xwww-form-urlencoded');
xmlhttp.send (senddate)
}
</script>
В приведенном выше примере мы используем только функцию побега на китайском языке, а синтаксис выглядит следующим образом:
Определение и использование:
Функция Escape () кодирует строку так, чтобы строку можно было прочитать на всех компьютерах.
Грамматика:
Escape (строка) Описание параметра
Строка требуется. Строка, которая должна быть сбежал или закодирована.
Возвращаемое значение:
Копия кодированной строки. Некоторые из этих персонажей заменяются шестнадцатилетними последовательностями побега.
иллюстрировать:
Этот метод не кодирует буквы и цифры ASCII, и он не кодирует следующие знаки препинания ASCII: - _. ! ~ * '(). Все остальные символы будут заменены сбежавшими последовательностями.
Советы и комментарии:
Совет: UNESCAPE () может использоваться для декодирования кодированных строк Escode ().
Примечание. Ecmascript v3 выступает против использования этого метода, а приложение использует decodeuri () и decodeuricomponent () вместо него
Я надеюсь, что эта статья будет полезна для каждого программирования JavaScript.