您的位置:首页 > 编程语言 > PHP开发

Ajax and php 3_1

2016-03-20 21:02 190 查看
php对xml的创建

注意对源码的检查

var xmlHttp=createXmlHttpRequestObject();
function createXmlHttpRequestObject(){
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest();
}catch(e){
var XmlHttpVersions=new Array(
"MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Mircosoft.XMLHTTP"
);

for(var i=0;i<XmlHttpVersions.length;i++){
try{
xmlHttp=new ActiveXObject(XmlHttpVersion[i]);
}catch(e){
}
}
}
if(xmlHttp){
return xmlHttp;
}else{
alert('Error create the XMLHttpRequest object.');
}
}

function process(){
if(xmlHttp){
try{
xmlHttp.open("GET","phptest.php",true);
xmlHttp.onreadystatechange=handleRequestStateChange;
xmlHttp.send(null);
}catch(e){
alert("Can't connect to server:\n"+e.toString());
}
}
}

function handleRequestStateChange(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
try{
handleServerResponse();
}catch(e){
alert("Error reading the response:"+e.toString());
}
}else{
alert("There was a problem retrieving the data:\n"+xmlHttp.statusText);
}
}
}

function handleServerResponse(){
//reading from servece info
var xmlResponse=xmlHttp.responseXML;
//招出在ie和opera下抛出的错误
if(!xmlResponse||!xmlResponse.documentElement){
throw("Invalid XML structure:\n"+xmlHttp);
}
var rootNodeName=xmlResponse.documentElement.nodeName;
if(rootNodeName=="parsererror") throw('Invalid XML structure');

xmlRoot=xmlResponse.documentElement;
//因为Element 是复数所以加s
titleArray=xmlRoot.getElementsByTagName("title");
isbnArray=xmlRoot.getElementsByTagName("isbn");

var html="";
//如果写成i<=titleArray.length,会造成数组溢出,不然会找不到子元素
for(var i=0;i<titleArray.length;i++){
html+=titleArray.item(i).firstChild.data+","+isbnArray.item(i).firstChild.data+"<br/>"
}
myDiv=document.getElementById("myDiv");
myDiv.innerHTML=html;
}


<?php
header('Content-Type:text/xml');
$dom=new DOMDocument();
//建立个元素的方法
$response=$dom->createElement('response');
$dom->appendChild($response);

$books=$dom->createElement('books');
$response->appendChild($books);

$title=$dom->createElement('title');
$titleText=$dom->createTextNode('就一个测试你以为我会啥到照着你书本打一串英语字母么?');
$title->appendChild($titleText);

$isbn=$dom->createElement('isbn');
$isbnText=$dom->createTextNode('1-904811-82-5');
$isbn->appendChild($isbnText);

$book=$dom->createElement('book');
$book->appendChild($title);
$book->appendChild($isbn);

$books->appendChild($book);

$xmlString=$dom->saveXML();
echo $xmlString;
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: