如何在yaws文件中添加Access-Control-Allow-Origin标头?

时间:2016-05-10 18:14:05

标签: ajax erlang cors yaws erlangweb

我使用来自不同端口/域的AJAX向YAWS服务器发送帖子请求,但javascript返回此错误消息:

XMLHttpRequest cannot load http://0.0.0.0:8000/index.yaws. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

现在我明白我需要在 index.yaws 文件中包含CORS标题,但我不知道如何在Erlang中进行此操作。

1 个答案:

答案 0 :(得分:1)

如果您只想将localhost设为允许来源,可以尝试以下代码。请注意,它表示您当前使用变量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.