Использование AJAX с сервером Warp HTTP - PullRequest
1 голос
/ 02 апреля 2012

У меня возникли проблемы с попыткой понять, как WARP потенциально может взаимодействовать с клиентской стороной.Если бы я собирался построить свою серверную часть через WARP, и имел бы клиентскую часть Javascript.Могу ли я гипотетически использовать AJAX в качестве моста между клиентской и серверной сторонами?

1 Ответ

6 голосов
/ 02 апреля 2012

Да.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!"
...