2
我是相當新的榆樹。我目前正試圖教自己如何在Elm中進行API調用。我正在製作的程序非常簡單,它會通過http請求獲取一些Trello卡信息並顯示它。我的程序編譯但沒有反應,當我點擊按鈕來獲取信息。我不確定我做錯了什麼,請幫忙。謝謝榆樹HTTP API調用
module Main exposing (..)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (..)
import Http
import Json.Decode as Decode
main : Program Never Model Msg
main =
program
{ init = init
, view = view
, update = update
, subscriptions = subscriptions
}
type alias Model =
{ boardName : String
, cardName : String
}
init =
(Model "Default Board" "Default Card"
, Cmd.none
)
-- UPDATE
type Msg
= CardFetch (Result Http.Error String)
| FetchCard
update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
case msg of
FetchCard ->
(model, getCardName)
CardFetch (Ok incomingName) ->
(Model model.cardName incomingName, Cmd.none)
CardFetch (Err _) ->
(model, Cmd.none)
-- HTTP
getCardName =
Http.send CardFetch (Http.get "https://api.trello.com/1/members/..." decodeCard)
decodeCard =
Decode.at [ "data", "card", "name" ] Decode.string
--UPDATE
-- VIEW
view : Model -> Html Msg
view model =
div []
[ div []
[ button [ onClick FetchCard ] [ text "Get Card" ] ]
, div [ class "card" ]
[ h3 [] [ text model.cardName ]
, div [ class "board" ] [ h4 [] [ text model.boardName ] ]
]
]
-- SUBSCRIPTIONS
subscriptions : Model -> Sub Msg
subscriptions model =
Sub.none
你吸收可能發生在Err CardFetch所有錯誤解碼案件。嘗試將錯誤消息寫入屏幕或使用Debug.log將其打印到瀏覽器控制檯。 –
非常感謝您的幫助。我在控制檯得到了以下錯誤: 錯誤:{TYPE =「節點」,分支= []} 我猜我沒有配置我期待回到井JSON的結構。你知道如何在具有形狀JSON對象引用值: [ {數據:{ 卡:{名稱:...}} } , {}, {} ] 我試圖達到名稱值。感謝 – ohenecoker
你能發表一個你希望從你的問題中得到的json的例子嗎? –