Сервлет Java req.getParameter ("param") имеет значение null, когда строка запроса имеет значение 'ő' или 'ű' и если запрос сделан JQuery ajax - PullRequest
0 голосов
/ 24 февраля 2011

У меня очень досадная проблема с живым поиском по Ajax на основе Jquery.Сам поиск работает, но когда моя строка запроса содержит 'ő' и 'ű' - только эти два символа - значение req.getParameter ("sstring") равно null !Если строка запроса не имеет упомянутых символов, она возвращает значение успешно.Я перепробовал все возможные кодировки, включая UTF-8, но установил, используя 8859-2.

    $.ajax({
    type:"GET",
    url: "/myApp/Protected/getStd",
    contentType: "application/x-www-form-urlencoded; charset=iso-8859-2",
    dataType:"application/x-www-form-urlencoded; charset=iso-8859-2",
    data:"sstring="+escape(sstring)+"&options="+id+"&startrow="+startrow+"&valid="+Valid+"&notValid="+notValid+"&searchForm=1",

            async: true,
    success: function(data){
    $("#external").html(data);

    }
 })

Мне нужно выделить , что проблема возникает только когда строка запроса передается Jquery.Если я ввожу QueryString в браузер вручную, сервлет получит его правильно.Любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 24 февраля 2011

По комментариям на вопрос:

INFO: sstring=min%u0151&options=1&startrow=0&valid=true&notValid=true&searchForm=1

Параметр sstring неправильно закодирован в URL. Вам нужно encodeURIComponent() вместо escape().

0 голосов
/ 24 февраля 2011

Сделать методом POST.

type:"POST",

Вы не говорите, что метод GET, и все же передаете данные как часть тела запроса. Запрос GET работает исключительно на основе URL.

Если вы хотите использовать GET, сделайте следующее:

$.ajax({
    type:"GET",
    url: "/myApp/Protected/getStd?sstring="+escape(sstring)+"&options="+id+"&startrow="+startrow+"&valid="+Valid+"&notValid="+notValid+"&searchForm=1",
    async: true,
    success: function(data){
    $("#external").html(data);

    }
 })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...