Кодировка на форме в UTF-8. Из нее, методом post, передаются на сервер данные, вот так:
Внутри агента содержимое распарсивается вот так:
Все работает, пока в поле #username не появляются русские буквы. В агенте они превращаются в кракозябы типа так Вася=%D0%92%D0%B0%D1%81%D1%8F и поиск GetDocumentByKey(username,True), соответственно, не пашет и все ломается
Вопросы:
1. Как внутри агента на LS поправить русскую кодировку на Query_String передаваемую из AJAX?
2. Другой подход.
Код:
$("#username").blur(function()
{
$("#msgbox").removeClass().addClass('messagebox').text('Проверка...').fadeIn("slow");
$.post("doAjaxUsername?openagent&user_name="+$(this).val(),
function(data)
{
var result = $(data).siblings('#userreg').text();
var result2 = $(data).siblings('#Query_String').text();
alert(result+' '+result2); // тестовое
if(result =='no')
... // тут показываем страшные надписи - ДА-НЕТ
Код:
...
Set db = s.CurrentDatabase
Set ctx= s.DocumentContext
encode = Strright(ctx.Query_String(0), "user_name=")
'' если из формы передаются RUS буквы, то поиск не работает
''username = Evaluate(| @URLDecode("Platform";encode) |) '' не работает
''username = Evaluate ( { @URLDecode("Platform"; encode) }, ctx) '' тоже не пашет
username = encode
Set viewreg=db.GetView("Users")
Set docpeople = viewreg.GetDocumentByKey(username,True)
'' проверить на наличие соответствий имен
If Not (docpeople Is Nothing) Then
argtext="no"
Else
argtext="yes"
End If
'' вывод данных для работы с AJAX JQUERY
Print ({<div id="userreg" style="display:none">} & argtext & {</div>} )
Print ({<div id="Query_String" style="display:none">} & username & {</div>})
...
Вопросы:
1. Как внутри агента на LS поправить русскую кодировку на Query_String передаваемую из AJAX?
2. Другой подход.