【发布时间】:2012-04-15 21:17:38
【问题描述】:
我在尝试了解 WARP 如何与客户端进行潜在交互时遇到了一些麻烦。如果我要通过 WARP 构建我的服务器端,并且有一个 Javascript 客户端。我可以假设使用 AJAX 作为客户端和服务器端之间的桥梁吗?
【问题讨论】:
-
我今天发了一个相关的问答,也许你想拥有a look
标签: haskell yesod haskell-warp
我在尝试了解 WARP 如何与客户端进行潜在交互时遇到了一些麻烦。如果我要通过 WARP 构建我的服务器端,并且有一个 Javascript 客户端。我可以假设使用 AJAX 作为客户端和服务器端之间的桥梁吗?
【问题讨论】:
标签: haskell yesod haskell-warp
是的。 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!"
【讨论】: