static S appendQueryToURL(S url, Map params) { if (url == null) null; S data = makePostData(params); if (empty(data)) ret url; int idx = smartIndexOf(url, '#'); S url2 = takeFirst(url, idx); ret url2 + (url2.contains("?") ? "&" : "?") + data + substring(url, idx); } static S appendQueryToURL(S url, O... data) { ret appendQueryToURL(url, paramsToMap(data)); }