没有任何东西从Elm Http.send返回 - 只是原始模型

时间:2017-05-08 10:10:46

标签: json http elm

我正在学习榆树并且正在取得公平的进步。但我无法让Http.send工作。预期的JSON字符串未从服务器返回,但它直接在浏览器中工作。我的JSON解码器看起来很稳固,我的Http.send是我读过的文本。使用--debug进行编译时,模型在运行期间不会更改。我在调试Elm时是绿色的,所以我只是在更新中创建了一些虚拟返回模型,以查看它在哪个阶段失败。在下面的代码中,严格用于调试目的,我总是返回companyTypeList1(" DIDN' T RUN"),这似乎意味着我的Cmd - listCompanyTypes - 根本没有被调用。但我没有收到任何错误。有什么理由说Cmd不会运行或只是在没有做任何事情的情况下返回初始模型?这是榆木0.18。我无法在SO或网络上找到关于此问题的任何主题,所以我必须做一些stoopid。任何帮助将不胜感激。

import Http exposing (..)
import Json.Decode as Decode exposing (..)
import Objects.CompanyTypes.Model exposing (..)
import Objects.CompanyTypes.Msg exposing (..)

update : Msg -> List CompanyType -> ( List CompanyType, Cmd Msg )
update msg companyTypeList =
    let
        companyTypeList1 =
            [ { id = 0, name = "DIDN'T RUN" } ]

        companyTypeList2 =
            [ { id = 0, name = "GOOD RETURN" } ]

        companyTypeList3 =
            [ { id = 0, name = "ERROR RETURN" } ]
    in
        case msg of
            List ->
                ( companyTypeList1, listCompanyTypes )

            ListResult (Ok newCompanyTypeList) ->
                ( companyTypeList2, Cmd.none )

            ListResult (Err _) ->
                ( companyTypeList3, Cmd.none )

listCompanyTypes : Cmd Msg
listCompanyTypes =
    Http.send ListResult (Http.get "http://laserver:8080/company_types" decodeCompanyTypes)

decodeCompanyTypes : Decoder (List CompanyType)
decodeCompanyTypes =
    list decodeCompanyType


decodeCompanyType : Decoder CompanyType
decodeCompanyType =
    map2 CompanyType
        (field "id" int)
        (field "name" string)

更新:我读到CORS可能是问题,所以我在我的Apache服务器上检查它。我已启用mod_header并添加了一个'标头设置了Access-Control-Allow-Origin" *"'进入我的网站配置。它没有用,但我会小提并报告。

0 个答案:

没有答案