我在试图理解WARP如何潜在地与客户端交互时遇到了一些麻烦。如果我要通过WARP构建我的服务器端,并且有一个Javascript客户端。假设我可以使用AJAX作为客户端和服务器端之间的桥梁吗?
发布于 2012-04-03 02:38:43
是。AJAX不需要知道任何关于服务器的信息就可以工作。它所需要做的就是在一个url上请求一些东西,然后得到一个响应。
例如,假设您正在使用jquery。您的Ajax请求可能如下所示:
$.ajax({
url: "/hello",
}).done(function() {
$(this).addClass("done");
});
这是在url /hello
请求的东西。那么你的Yesod应用程序需要在/hello
上提供一些服务
mkYesod "yourapp" [parseRoutes|
/hello HelloR GET
|]
getHomeR :: Handler RepHtml
getHelloR = defaultLayout [whamlet|Hello!|]
(我没有使用Yesod,所以我不能断言该代码是准确的)。
由于WARP是一个WAI处理程序,您可以在其上运行任何WAI应用程序。下面是另一个示例,这次使用scotty
main = scotty 3000 $ do
get "/hello" $ html "Hello!"
https://stackoverflow.com/questions/9972598
复制相似问题