web-dev-qa-db-ja.com

javascript set header Access-Control-Allow-Origin

私はPOSTでJSをテストしています。しかし、私はそれで成功しませんでした。

コードの使用:

<!DOCTYPE html>
<html>
<body>

<div>
testing js...
</div>

<script>
function upload() {
    var method = "POST";
    var url = "http://127.0.0.1:9000/Push";

    var xhr = new XMLHttpRequest();

    xhr.open(method, url);

    xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    xhr.setRequestHeader("Access-Control-Allow-Origin", "*");

    var text = {"command":"Push"};
    xhr.send(text);

}         
upload();
</script>

</body>
</html>

次のエラーが発生します。

ここに画像の説明を入力してください

奇妙なことに、リクエストヘッダーが次の行で正しく設定されていません。

xhr.setRequestHeader("Access-Control-Allow-Origin", "*");

リクエストヘッダーは次のようになります。

ここに画像の説明を入力してください

4
Fczanardo

XHR応答を確認します。Access-Control-Allow-OriginIS present、Originはローカルシステムから実行しているためnullです。サーバーにアップロードして、Originにデータが入力されていることを確認してください。

function upload() {
    var method = "POST";
    var url = "http://127.0.0.1:9000/Push";

    var xhr = new XMLHttpRequest();

    xhr.open(method, url);

    xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    xhr.setRequestHeader("Access-Control-Allow-Origin", "*");

    var text = {"command":"Push"};
    xhr.send(text);

}

$(document).ready(function(){
$('.upload').click(upload);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button class="upload">Upload</button>
2
Mosè Raguzzini