отправка символов Unicode с помощью AJAX в IE 8 - PullRequest
0 голосов
/ 06 июля 2011

У меня IE 7 + 8 и страница с

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Я отправляю строку, используя AJAX с арабским символом.

Моя проблема в том, что строка, которая поступает всервер имеет ????значения на IE 7 и Gibrish на IE8.С английскими буквами все в порядке.

function getXmlHttpObject()
{
    try
    {  
        // Firefox, Opera 8.0+, Safari  
        xmlHttp=new XMLHttpRequest();  
    }
    catch (e)
    { 
        // Internet Explorer  
        try
        {    
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");   
        }
        catch (e)
        {    
            try
            {      
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");      
            }
            catch (e)
            {      
                alert("Your browser does not support AJAX!");      
                return false;     
            }    
        }  
    }   
    return xmlHttp;
}

, а затем и сам AJAX:

          function updateName()
            {
                //updateLocal();
                xmlHttp = getXmlHttpObject();

                var username = document.getElementById('username').value;
                xmlHttp.onreadystatechange=function(){onResponseUpdateOrderName();};
                var params = "username=" +username;
                xmlHttp.open("POST",myRootLink+"/myServlet/?"+params,true);
                var boundaryString = 'bound';
                var boundary = '--' + boundaryString;
                var requestBody = [
                boundary,
                params,
                boundary,
                ].join('\r\n');
                xmlHttp.setRequestHeader("Content-length", requestBody.length);
                xmlHttp.setRequestHeader("Connection", "close");
                 xmlHttp.setRequestHeader('Content-type', 'text/xml;charset=utf-8');
                xmlHttp.send(requestBody);
            }

Как отправить его, чтобы решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 13 августа 2013

попробуйте это:

          xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');

Это работает для меня.

0 голосов
/ 06 июля 2011

Заменить

var params = "username=" +username;"

с

var params = "username=" +username;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...