Reputation:
I send a post request to YAWS server using AJAX from a different port/domain but javascript returns this error message:
XMLHttpRequest cannot load http://0.0.0.0:8000/index.yaws. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
Now I understand that I need to include CORS headers in index.yaws file but I don't know how to do it in Erlang
.
Upvotes: 2
Views: 465
Reputation: 20014
If you want to set only localhost
as an allowed origin you could try the code below. Note that it represents the JSON results you currently return with the variable YourJsonString
.
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.
Upvotes: 1