gpt4 book ai didi

ajax - 如何在 Elm 客户端和 Haskell (Yesod) 服务器之间发送 JSON

转载 作者:行者123 更新时间:2023-12-04 06:04:04 25 4
gpt4 key购买 nike

我正在尝试使用以下 Elm 代码从客户端到服务器进行基本的 JSON 通信:

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 上。 ,它托管您运行它的目录中的所有文件。

您应该检查 javascript 控制台,您会看到类似 XMLHttpRequest cannot load http://www.google.com/. Origin http://localhost:8000 is not allowed by Access-Control-Allow-Origin. 的内容。 .如果你不这样做,那么这是一个全新的问题。但我对此表示怀疑。

关于ajax - 如何在 Elm 客户端和 Haskell (Yesod) 服务器之间发送 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18648431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com