2012-04-02 57 views
1

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

+0

我发布了相关的Q&A的今天,也许你想有[看看](http://stackoverflow.com/a/22183490/2597135) – 2014-03-04 21:38:21

回答

6

是的。 AJAX不需要知道任何有关您的服务器的工作。它需要做的只是请求一个网址,并得到回应。

例如,假设您正在使用jquery。您的Ajax请求可能看起来像:

$.ajax({ 
    url: "/hello", 
}).done(function() { 
    $(this).addClass("done"); 
}); 

这要求在URL /hello东西。然后你耶索德的应用程序需要在/hello服务的东西:

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

getHomeR :: Handler RepHtml 
getHelloR = defaultLayout [whamlet|Hello!|] 

(我没用过耶索德,所以我不能说那个代码是准确的)。

由于WARP是WAI处理程序,因此您可以在其上运行任何WAI应用程序。这里是另外一个例子,这次使用scotty

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

感谢响应。在过去的一周左右,这一切都已经过去了。你说得很清楚,对我很了解。谢谢! – 2012-04-02 19:50:32