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 に答える