Проверка Jquery Ajax JSON изменить кодировку? - PullRequest
0 голосов
/ 13 февраля 2012

Я использую проверку JQuery, но каким-то образом Remote-validation может обрабатывать символы Ø handleÅ.Это должно быть charset = ISO-8859-1.

Можете ли вы найти способ справиться с этим?

   jQuery.validator.addMethod("customerExist", function(value, element, param) {
    (...)
    var data = {};
    data["customer"] = value;
    $.ajax($.extend(true, {
        contentType: "application/json; charset=ISO-8859-1", 
        url: www+"validation.jsp",
        mode: "abort",
        dataType: "json",
        data:  data, //"{customer:'"+value+"'}",
        success: function(response) {
            alert("WORKS");
        }
    }, param));
    return "pending";
}, "");

Пример метода проверки, который я сделал.Где может быть ошибка для этой проблемы кодировки?

Я попробовал это решение без удачи.

ContentType contentType:

"application/x-www-form-urlencoded; charset=UTF-8", 

beforeSend

beforeSend: function(x){ x.overrideMimeType('application/json; charset=iso-8859-1'); },

Различные страницы: В HTML он размещается на:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

странице JSP (которые называются)

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

-

=== МОЕ РЕШЕНИЕ ===

Используйте декодирование в Javascript:

data["customer"] = encodeURIComponent(value);

И используйте URLDecoder.decode в JSP-страница

<%@page pageEncoding="ISO-8859-1" contentType="text/html; charset=ISO-8859-1" %>
<%@ java.net.URLDecoder" %>
<% 
   String customer = URLDecoder.decode(request.getParameter("customer"), "UTF-8");
%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...