时间:2021-07-01 10:21:17 帮助过:1人阅读
function createXML(){
var xml = "";
var options = document.getElementById("petTypes").childNodes;
var option = null;
for(var i = 0;i < options.length;i++){
option = options[i];
if(option.selected){
xml = xml + "" + option.value + "<\/type>";
}
}
xml = xml + "<\/pets>";
return xml;
}
function sendPetTypes(){
createXMLHttpRequest();
var xml = createXML();
var url = "PostingXMLExample.php?timeStamp=" + new Date().getTime();
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.send(xml);
}
php文件中执行print_r($_POST)时,显示Array(),当执行echo file_get_contents("php://input")时,显示内容,为什么呢?请大神赐教
function handleStateChange(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
parseResults();
}
}
}
function parseResults(){
var responseDiv = document.getElementById("serverResponse");
if(responseDiv.hasChildNodes()){
responseDiv.removeChild(responseDiv.childNodes[0]);
}
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}
function createXML(){
var xml = "";
var options = document.getElementById("petTypes").childNodes;
var option = null;
for(var i = 0;i < options.length;i++){
option = options[i];
if(option.selected){
xml = xml + "" + option.value + "<\/type>";
}
}
xml = xml + "<\/pets>";
return xml;
}
function sendPetTypes(){
createXMLHttpRequest();
var xml = createXML();
var url = "PostingXMLExample.php?timeStamp=" + new Date().getTime();
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.send(xml);
}
php文件中执行print_r($_POST)时,显示Array(),当执行echo file_get_contents("php://input")时,显示内容,为什么呢?请大神赐教
function handleStateChange(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
parseResults();
}
}
}
function parseResults(){
var responseDiv = document.getElementById("serverResponse");
if(responseDiv.hasChildNodes()){
responseDiv.removeChild(responseDiv.childNodes[0]);
}
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
看着好像是多了个;
???
因为在传递过来的时候,传递的是字符串,这个时候PHP帮你自动转成了数组,但是后面get_file_contents(php://input)这个是读取的原始数据流,这个时候就需要你自己进行转了。