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; ?>
相关文章推荐
- phpstudy配置虚拟主机
- PHP数组的相关处理函数2
- PHP读取PDF页数的方法
- thinkphp- 许愿墙-1
- php把文件上传到远程服务器上
- 【ThinkPHP5.0RC2吃螃蟹之】关于ThinkPHP5.0的渲染模板输出
- CURD方法盘点:where方法-THINKPHP
- php生成0~1随机小数方法
- ContentProvider内容提供者
- php curl post 上传文件流
- ThinkPHP 数据库操作 统计查询
- 关于PHP中的引用以及clone详解
- PHPCMS V9 采集实例
- Thinkphp-事务处理
- phpmyadmin4.1.4安装配置教程
- PHP中的12个魔术方法
- PHP共享内存实现的消息队列
- ThinkPHP CURD操作
- PHP之页面跳转
- 构建自己的PHP框架--创建组件的机制