On 17 February 2011 03:13, Zhenchao Li <[email protected]> wrote:
> This is how I define my app:
>
> (defroutes index
> (GET "/" [] (main-page))
> (GET "/form" [] (render-page "Vote" (render-form)))
> (POST "/vote" {params :params} (post-vote params))
> (route/not-found "Page not found"))
>
> (def app (site index))
>
> (defservice app)
>
> The site here is used to capture :params, which is new in compojure
> 0.6.0. However I'm getting a empty map in post-vote. I wonder what's
> wrong with the above code? Any suggestions? Hints?
There's nothing wrong with the above code in principle. The problem
likely lies either in your render-form function, or your post-vote
function.
Try running the following routes:
(defroutes main-routes
(GET "/" [] "Main Page")
(GET "/form" []
(str "<form method='post' action='/vote'>"
"<input type='text' name='test'>"
"<input type='submit'>"
"</form>"))
(POST "/vote" {params :params}
(pr-str params))
(route/not-found "Page not found"))
If you go to "/form" and submit the form there, you should get a page
that looks something like:
{:test "foo"}
- James
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en