将AJAX与warp HTTP服务器结合使用



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

是。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应用程序

main = scotty 3000 $ do
  get "/hello" $ html "Hello!"

最新更新