Je teste JS avec POST. Mais je n'ai pas réussi avec ça.
En utilisant le code:
<!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>
J'obtiens l'erreur suivante:
entrez la description de l'image ici
L'étrange est que l'en-tête de demande n'est pas correctement défini via la ligne:
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
L'en-tête de demande est comme ceci:
Regardez la réponse XHR: Access-Control-Allow-Origin IS présent, Origin est nul car vous l'exécutez à partir de votre système local, téléchargez-le sur un serveur pour voir Origin rempli.
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>