Передаю в php-скрипт массив значений, он по ним выбирает из базы все что нужно и возвращает в виде XML-дока. Вот только возвращает он целую кучу непонятного одинакого го..а. Вот собственно код, который должен бы мне сгенерить XML: Код (Text): <?php $db = mysql_connect("localhost", "root", "***") or die("Can`t connect!!!"); mysql_select_db("****", $db); mysql_query("SET NAMES cp866;", $db); header("Content-Type: text/xml"); $idRTU=0; if (isset($_POST['idRTU'])) $idRTU=$_POST['idRTU']; if (isset($_POST['idType'])) $idType=$_POST['idType']; if (isset($_POST['PointName[]'])) $PointName[]=$_POST['PointName[]']; $DivID=0; $dom=new DOMDocument("1.0", "cp866"); $response=$dom->createElement('response'); $dom->appendChild($response); foreach($PointName as $Point) { $idPoint_set=mysql_query("SELECT idPoint, PointIndex From Points Where PointName='$Point' and idType=$idType and idRTU=$idRTU;"); if (mysql_num_rows($idPoint_set)>0) { $idPoint=mysql_fetch_row($idPoint_set); if ($idType==1) $Value_set=mysql_query("SELECT * from analogdynamics where idPoint=$idPoint[0]"); if ($idType==3) $Value_set=mysql_query("SELECT * from statusdynamics where idPoint=$idPoint[0]"); if ($idType==2) $Value_set=mysql_query("SELECT * from counterdynamics where idPoint=$idPoint[0]"); if (mysql_num_rows($Value_set)>0) { $Value=mysql_fetch_row($Value_set); $point=$dom->createElement('point'); $pointText=$dom->createTextNode('$Value[1]'); $point->appendChild($pointText); $response->appendChild($point); } else { $TypeRF=$idType-1; mysql_query("INSERT INTO Dynamics Values($idPoint[0], idPoint[1], $TypeRF, 0);"); $point=$dom->createElement('point'); $pointText=$dom->createTextNode('ЗАПРОС'); $point->appendChild($pointText); $response->appendChild($point); } } } $xmlStr=$dom->saveXML(); echo $xmlStr; ?> а засылаю туда данные вот так: Код (Text): if (xmlHttp) { CountDiv = document.getElementById("count"); var counter=CountDiv.innerHTML; RTUDiv=document.getElementById("idRTU"); Type = 2; var POSTStr="idType=3"+"&idRTU="+RTUDiv.innerHTML; for (a=1; a<counter; a++) { try { idSTR="PointName"+a; PointNameDiv=document.getElementById(idSTR); } catch(e) { alert("Cant get element!" + a); } POSTStr+="&PointName["+a+"]="+PointNameDiv.innerHTML; } try { xmlHttp.open("POST", "PointDynamicScan.php", true); xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttp.onreadystatechange = DynCallBack; xmlHttp.send(POSTStr); } catch(e) { alert("Cant send request!!!"); } } Возвращает в результате кучу одинаковых значений "ǀϐΑ"; Т.е. есть XML страничка, в ней правильная структура документа но TextNode втюхивается туда неправильно. Может с кодировкой что-то надо домудрить?? О_О
Вот еще покопался немного и появился вопрос. Попробовал отказаться от XML и получать responseText. Отсюда и вопрос: а его можно обрабатывать просто как строку или есть какая-то специфика? И можно ли из полученного текстового ответа жрать элементы по id, как при работе с document?
Сделал все, заработало с текстовым вариантом. Принес на работу - слил www в localhost, но увы! Ругается на foreach() Вот код: Код (Text): if (isset($_POST['idRTU'])) $idRTU=$_POST['idRTU']; if (isset($_POST['idType'])) $idType=$_POST['idType']; if (isset($_POST['PointName[]'])) $PointName[]=$_POST['PointName[]']; if (isset($_POST['DivNumber'])) $DivNumber=$_POST['DivNumber']; $DivID=0; foreach($PointName as $Point) // <---вот на эту строку говорит неверный аргумент { ... Передается вроде нормальная POST-строка вида ...&PointName[n]=blabla&... Что ему не нравитццо??