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.如果不这样做,那么这是一个全新的问题.但我对此表示怀疑.

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 &#128515; https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: &quot;./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...