2

我在尝试了解 WARP 如何与客户端进行潜在交互时遇到了一些麻烦。如果我要通过 WARP 构建我的服务器端,并且有一个 Javascript 客户端。我可以假设使用 AJAX 作为客户端和服务器端之间的桥梁吗?

4

1 回答 1

6

是的。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!"
于 2012-04-02T18:38:43.447 回答