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

Haskell 将AJAX与warp HTTP服务器结合使用,haskell,yesod,haskell-warp,Haskell,Yesod,Haskell Warp,我在试图理解WARP如何可能与客户端交互时遇到了一些困难。如果我要通过WARP构建服务器端,并且有一个Javascript客户端。我可以假设使用AJAX作为客户端和服务器端之间的桥梁吗?可以。AJAX不需要了解服务器的任何信息就可以工作。它所需要做的就是在url上请求一些东西,然后得到响应 例如,假设您正在使用jquery。您的Ajax请求可能如下所示: $.ajax({ url: "/hello", }).done(function() { $(this).addClass("don

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

可以。AJAX不需要了解服务器的任何信息就可以工作。它所需要做的就是在url上请求一些东西,然后得到响应

例如,假设您正在使用jquery。您的Ajax请求可能如下所示:

$.ajax({
  url: "/hello",
}).done(function() { 
  $(this).addClass("done");
});
这是在url
/hello
上请求的内容。然后你的YesSOD应用程序需要在
/hello
上提供一些服务:

mkYesod "yourapp" [parseRoutes|
/hello HelloR GET
|]

getHomeR :: Handler RepHtml
getHelloR = defaultLayout [whamlet|Hello!|]
(我没有使用YesSOD,所以我不能说代码是准确的)

由于WARP是WAI处理程序,因此可以在其上运行任何WAI应用程序。下面是另一个示例,这次使用:


谢谢你的回复。这件事在过去一周左右一直困扰着我。你对我说得很清楚很明白。非常感谢。我今天发布了一个相关的问答,也许你想
main = scotty 3000 $ do
  get "/hello" $ html "Hello!"