用httprequest发送POST给php

时间:2013-03-17 13:59:13

标签: php javascript xmlhttprequest

我想用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');

?>

1 个答案:

答案 0 :(得分: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方面,post变量被添加到全局关联数组中,如下所示:

<?php echo $_POST['random'];