Code: Select all
"GET /foobar.html?this=that"
Code: Select all
"GET /request.html?method=GET&url=foobar.html"
Code: Select all
(command-event (fn (str)
(local (method url page)
(begin
(map set '(method url) (0 2 (parse str )))
(if (find "?" url) (set 'page ((parse url "?") 0)))
(join (list "GET /request.html?method=" method "&page=" page) "")))))
Code: Select all
<html>
<body>
<h1>Hello</h1>
<script type="text/javascript">
query = document.location.href.split("?")[1]
vars = query.split("&")
for( i = 0; i < vars.length; i++ )
document.write( vars[i] + "<br>" )
</script>
</body>
</html>
Hello
this=that
Instead of
Hello
method=GET
page=foobar.html
as I expect. In other words, the base url is correctly translated from "foobar.html" to "request.html", but the original query parameters are being passed instead of the new ones.
Can anyone explain:
(1) Why does command-event behave like this?
(2) How can I rewrite the query parameters?
I'd be most grateful for any advice.