如何将 Access-Control-Allow-Origin headers 添加到 yaws 文件?

How to add Access-Control-Allow-Origin headers to yaws file?

我使用 AJAX 从另一个 port/domain 向 YAWS 服务器发送 post 请求,但是 javascript returns 此错误消息:

XMLHttpRequest 无法加载 <a href="http://0.0.0.0:8000/index.yaws" rel="nofollow">http://0.0.0.0:8000/index.yaws</a>. Origin <a href="http://localhost" rel="nofollow">http://localhost</a> Access-Control-Allow-Origin 不允许。

现在我知道我需要在 index.yaws 文件中包含 CORS headers 但我不知道如何在 Erlang.

如果您只想将 localhost 设置为允许的来源,您可以尝试以下代码。请注意,它表示您当前 return 使用变量 YourJsonString.

的 JSON 结果
out(Arg) ->
    Hdrs = yaws_api:arg_headers(Arg),
    case yaws_api:get_header(Hdrs, "Origin") of
        "localhost" ->
            [{header, {"Access-Control-Allow-Origin", "localhost"}},
             {html, YourJsonString}];
        _ ->
            {html, YourJsonString}
    end.