Я хотел взглянуть на веб-разработку с haskell для back-end и elm для front-end.Итак, я написал два простых фрагмента кода "hello world"
elm:
import Html exposing (..)
import Html.Events exposing (..)
import Http
import Json.Decode as Decode
main : Program Never Model Msg
main = Html.program
{ view = view
, update = update
, init = ("default", Cmd.none)
, subscriptions = \_ -> Sub.none }
type alias Model = String
type Msg = Get | Response (Result Http.Error String)
update : Msg -> Model -> (Model, Cmd Msg)
update msg model = case msg of
Get -> (model, get)
Response (Ok s) -> (s, Cmd.none)
Response (Err e) -> (toString e, Cmd.none)
view : Model -> Html Msg
view model = div []
[button [onClick (Get)] [text "click me"],
text model]
get : Cmd Msg
get = let url = "http://localhost:3000/get"
in Http.send Response (Http.get url Decode.string)
haskell / scotty:
import Web.Scotty
main = scotty 3000 $ get "/get" $ json ("hello world" :: String)
, оба отлично работают самостоятельно -Это означает, что код elm может получать данные с серверов, таких как httpbin, а сервер scotty обрабатывает запросы, которые я отправляю с помощью браузера или таких инструментов, как wget / curl и т. д., но когда я пытаюсь использовать их вместе, вызов http.send в elm возвращает сетевую ошибку
Я подозревал, что может быть проблема в том, что оба сервера размещены на одном компьютере (не знаю почему, но я хотел исключить такую возможность), поэтому я разместил клиентский сайт на другом компьютере, который, как я знаю, имеетрабочее соединение с компьютером, на котором находится серверная часть спока (работает с wget и т. д.), но все равно не работает.
Я что-то упускаю из виду или в чем проблема?спасибо заранее