1

httpリクエストとphpを使用して乱数をxmlファイルに送信したいと思います。しかし、生成された数値の値を追加して投稿に追加する方法を実際に理解することはできません。

これは私がこれまでに持っているものです。

var x=document.getElementsByClassName("demo");
x[x.length-1].innerHTML=Math.floor((Math.random()*1000000)+1);
// Generates a random number and print it on the last demo class

var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
  //  document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
}
xmlhttp.open("GET","/project3/php/update.php",true); //Calls the php update file
xmlhttp.send();

PHPファイル

<?php 
       $dom = new DOMDocument();
       $dom->load('../stickers.xml');
       $stickers = $dom->documentElement;
       $xpath = new DOMXPath($dom);
       $result = $xpath->query('/stickers/sticker[id="$POST"]/id'); //Not sure.
       $result->item(0)->nodeValue .= 'hi';
       echo $dom->saveXML();
       $dom->save('../stickers.xml');

?>
4

1 に答える 1

1

このgetメソッドはパラメータをURLのクエリ文字列として送信しますが、postクエリ文字列はhttpヘッダー内で送信されます。

xmlhttp.open("POST","/project3/php/update.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("random="+x[x.length-1].innerHTML);

PHP側では、posts変数が次のようにグローバル連想配列に追加されます。

<?php echo $_POST['random'];
于 2013-03-17T14:17:20.630 に答える