2016-05-10 11 views
1

ich einen Post Anfrage an Framboesie Server senden, aber AJAX von einem anderen Port/Domain mit JavaScript, um diese Fehlermeldung zurückgibt:Wie fügen Sie Access-Control-Allow-Origin-Header zu Gieren Datei hinzu?

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

Jetzt verstehe ich, dass ich CORS-Header in index.yaws umfassen müssen Datei, aber ich weiß nicht, wie es in Erlang zu tun ist.

+0

Wie gibt Ihre 'index.yaws' Datei ihre Ergebnisse zurück? –

+0

aus (Arg) -> {html, string}. string ist eine json-codierte Zeile, die einige mysql-Daten zurückgeben soll. –

+0

Danke. Nächste Frage: Gibt es bestimmte Ursprünge, die Sie zulassen möchten? Oder ist es nur 'localhost'? –

Antwort

1

Wenn Sie nur localhost als zulässigen Ursprung festlegen möchten, können Sie den folgenden Code versuchen. Beachten Sie, dass es die JSON-Ergebnisse darstellt, die Sie derzeit mit der Variablen YourJsonString zurückgeben.

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. 
+0

Sie sind der Programmierer, Danke! –