День добрый возникла такая проблема, proxy-сервер по каким-то причинам поганит кодировку json'a. т.е. отправив клиенту в русские строки через проксю, можно быть уверенным в том, что клиент получит ??? вместо имени "Маша". Естественно, с "Mary" таких вещей не происходит.
Я быстро-быстро написал костыль для json-плагина, используемого на server-side.
Перед отправкой сериализованных данных, плагин производит следующие изменения:
json = URLEncoder.encode(json, "UTF-8"); //encode as utf-8 json = "{\"data\":\""+json+"\"}"; //wrap json in json :) //write to responce
По сути, мой гумнокод сует заэнкоженных json в еще один json.
На клиенте:
$j.post(_url,{"vendorId":vendorId}, function(_json){ //TODO: to be refactored. Crazy proxy :(
//OMG, Мозилла получает нормалый json, где есть поле data и есть его значение в виде //заэнкоженного json-a //IE 8 в нормальном режиме, в режиме совместимости, в режиме работы IE7 не получает поля data //значение поля data СРАЗУ!!! становится корневым объектом и автоматом разэнкоживается. ППЦ.
//Мозилла получает значение поля data, как строку. Надо её разэнкодить и от-eval-ить. //как я уже сказал, IE все эти действия проделывает автоматически(???) if( "string" == typeof(_json)){ _json = decodeURIComponent(_json); //decode data _json = eval("("+_json+")"); }
var categories = eval(_json.categories); var products = eval(_json.products);
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Актуальные контакты:
Telegram: @Nikker_web
E-Mail: tarasevich.email@gmail.com
Портфолио https://www.behance.net/d4d4186e
Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ
Актуальные контакты:
Telegram: @Nikker_web
E-Mail: tarasevich.email@gmail.com
Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ
Портфолио https://www.behance.net/d4d4186e
Question
ХОЛОДный
День добрый возникла такая проблема, proxy-сервер по каким-то причинам поганит кодировку json'a. т.е. отправив клиенту в русские строки через проксю, можно быть уверенным в том, что клиент получит ??? вместо имени "Маша". Естественно, с "Mary" таких вещей не происходит.
Я быстро-быстро написал костыль для json-плагина, используемого на server-side.
Перед отправкой сериализованных данных, плагин производит следующие изменения:
По сути, мой гумнокод сует заэнкоженных json в еще один json.
На клиенте:
Что за бред? Поясните, плиз.
Link to comment
Share on other sites
12 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.