ajax – 如何在Elm Client和Haskell(Yesod)服务器之间发送JSON

前端之家收集整理的这篇文章主要介绍了ajax – 如何在Elm Client和Haskell(Yesod)服务器之间发送JSON前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从客户端到服务器进行基本的 JSON通信,使用以下Elm代码
import open Http

result res = case res of
    Success a -> a
    Waiting -> "Waiting"
    Failure n a-> "Failure " ++ (show n) ++ " " ++ (show a)


main =   lift asText <| lift (show . result) <|  send <| constant  <| post "http://localhost:3000" "{foo : true}"

服务器完全如this part of the Yesod book所示.

但是,当我运行请求时,我得到了输出

"\"Failure 0 []\""

有没有人知道我要做些什么来让Elm客户端与Yesod服务器正常通信?我尝试过一个Python客户端,请求工作得很好.同样,在Yesod网站上有几个成功的Http请求的例子,所以我相信两个库都正常工作,但我使用它们是错误的.

更新:问题是客户端.我能够使用Chrome并禁用安全选项,并且不对Yesod进行任何更改.我会寻找一种解决方法,但这至少足以让我的开发继续下去.

这是由某些站点上的跨站点脚本安全功能引起的.最近在榆树邮件列表上有 brought up(由我).如果您致力于使用特定服务器,目前还没有解决方法,尽管我很幸运能够在elm-server上托管文件,elm-server承载您运行它的目录中的所有文件.

你应该检查一下javascript控制台,你会发现像XMLHttpRequest这样的东西无法加载http://www.google.com/. Access-Control-Allow-Origin不允许使用原始http:// localhost:8000.如果不这样做,那么这是一个全新的问题.但我对此表示怀疑.

猜你在找的Ajax相关文章