Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > ajax, символы перевода строки


Автор: serghd 1.11.2012, 17:21
Привет всем, есть такой код формирования инфы перед отправкой (ajax-ом) на сервер:
Код

 var args = 'source=' + encodeURIComponent(my_info);
 ...

Далее args передаётся аргументом для send():
Код

ajx_request.open('POST', url, true);
ajx_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
ajx_request.send(args);


Проблема в том, что если my_info содержит в себе например такой текст:
Код



#include <iostream>

int main() {
   std::cout << "print message to stdout" << std::endl;
}



(перед "#include <iostream>" на самом деле две пустые строки, тут в редакторе это не отображается),
то на сервер этот текст попадает "затрименый"(от trim()), то есть спецсимволы до и после текста будут убраны. Это как-то можно побороть? Спасибо.

Автор: serghd 1.11.2012, 17:54
Решил пока так, что перед отправкой оборачиваю этот текст в кавычки. На server-side эти кавычки, соответственно, убираю. Хм, как-то костыльно что-ли...

Автор: zergi 2.11.2012, 23:13
Хм, раз данные передаются постом, я думаю вполне можно обойтись без encodeUriComponent.
Подозреваю, именно там оно и тримается.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)