| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Безымянный 30.07.2005 00:19
Цель: формировать средствами парсера JS-код для библиотеки JSHttpRequest (by Dmitry Koterov).get-запрос: script.html?sid=session_id...param=pairs...?request_id post-запрос: script.html?sid=session_id?request_id [остальные данные в теле запроса]GET-запрос: request_id = $form:qtail
$qtail[^request:query.mid(^request:query.pos[?]+1)]Т.к. парсер не понимает %uXXXX, возникла необходимость написать свой метод разбора строки:
# передаем данные после замены %uXXXX -> Win1251
# см. http://www.parser.ru/forum/?id=42777
@_parse_query_string[string][parts;key;value]
^if(^string.pos[?]>=0){
$result.qtail[^string.mid(^string.pos[?]+1)]
$string[^string.mid(0;^string.pos[?])]
}
$parts[^string.split[&]]
^parts.menu{
^if(^parts.piece.pos[=] > 0){
$key[^parts.piece.left(^parts.piece.pos[=])]
$value[^parts.piece.mid(^parts.piece.pos[=]+1)]
$result.$key[$value]
}
}Для начала стало понятным, что в этом случае (POST-запрос & нет поддержки %uXXXX) бессмысленно получение $form:qtail.