ajax处理数据(html,xml,json)

前端之家收集整理的这篇文章主要介绍了ajax处理数据(html,xml,json)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. html 文件
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <Meta charset="UTF-8">
  5. <title>ajax test</title>
  6. <script src="js/ajax.js"></script>
  7. <script src="js/base.js"></script>
  8. <script type="text/javascript">
  9. var ajax=new ajax();
  10. function send(){
  11. /*var str=ajax.get("deal.PHP?name=zhangsan&age=22"+Math.random(),"text",function (data){
  12. alert($("show"));
  13. $("show").innerHTML=data;
  14. });*/
  15. /*ajax.post("deal.PHP","xml","name=zhangsan&age=13&sex=nan",function (obj){
  16. var htmlobj=obj.getElementsByTagName('name')[0];
  17. alert(htmlobj.childNodes[0].nodeValue);
  18. $("show").innerHTML=htmlobj.childNodes[0].nodeValue+"<br />";
  19. while(htmlobj.nextSibling.nodeType===1){
  20. var i=0;
  21. while(i<htmlobj.nextSibling.childNodes.length){
  22. $("show").innerHTML+=htmlobj.nextSibling.childNodes[i].textContent+"<br />";
  23. i++;
  24. }
  25. htmlobj=htmlobj.nextSibling;
  26. }*/
  27. var str=ajax.get("deal.PHP?name=zhangsan&age=22"+Math.random(),"json",function (data){
  28. var str='';
  29. for (var i in data)
  30. {
  31. if(i=="introduce")
  32. {
  33. for (var j in data[i]){
  34. str += j + '=>' + data[i][j] + '<br />';
  35. j++;
  36. }
  37. }
  38. else{
  39. str += i + '=>' + data[i] + '<br />';
  40. }
  41. i++;
  42. }
  43. $("show").innerHTML=str;
  44. });
  45. }
  46. </script>
  47. </head>
  48. <body>
  49. <button name="aaa" onclick="send()">点我试试!</button>
  50. <div id="show">
  51. </div>
  52. </body>
  53. </html>
  1.  
  1. ajax.js 文件
  1. <pre name="code" class="javascript">function ajax(){
  2. var _this=this;
  3. this.xhr='';
  4. this.contenttype='';
  5. this.get=function (url,contenttype,fun){
  6. _this.contenttype=contenttype;
  7. _this.xhr=createajax();
  8. _this.fun=fun;
  9. _this.xhr.onreadystatechange=chuli;
  10. _this.xhr.open("get",url,true);
  11. _this.xhr.send(null);
  12. return _this.data;
  13. };
  14. this.post=function (url,data,fun){
  15. _this.xhr=createajax();
  16. _this.contenttype=contenttype;
  17. _this.fun=fun;
  18. _this.xhr.onreadystatechange=chuli;
  19. _this.xhr.open("post",true);
  20. _this.xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  21. _this.xhr.send(data);
  22. };
  23. function createajax(){
  24. if(XMLHttpRequest){
  25. return new XMLHttpRequest();
  26. }
  27. if(ActiveXObject){
  28. return new ActiveXObject("microsoft.XMLHTTP");
  29. }
  30. }
  31. function chuli(){
  32. if(_this.xhr.readyState===4&&_this.xhr.status==200){
  33. if(_this.contenttype=="xml"){
  34. alert(_this.xhr.responseXML);
  35. _this.fun(_this.xhr.responseXML);
  36. }
  37. else if(_this.contenttype=="json"){
  38. var obj='';
  39. eval("obj="+_this.xhr.responseText);
  40. alert(typeof(obj));
  41. //if(typeof(obj)=="object")
  42. _this.fun(obj);
  43. //_this.fun(false);
  44. }
  45. else
  46. _this.fun(_this.xhr.responseText);
  47. }
  48. }
  49. }

base.js 文件
  1.  
  1. <pre name="code" class="javascript">function $(str){
  2. var htmlobj=document.getElementById(str);
  3. return htmlobj;
  4. }

deal.PHP 文件
  1.  
  1. <pre name="code" class="PHP"><?PHP
  2. //header("Content-Type:text/xml;charset=utf-8");
  3. header("Content-Type:text/html;charset=utf-8");
  4. header("Cache-Control:no-cache");
  5. //echo $str;
  6. /*$file=fopen("save.txt","a");
  7. fwrite($file,$str);
  8. fclose($file);*/
  9. /*echo "<?xml version='1.0' encoding='UTF-8'?>" .
  10. "<root>" .
  11. "<name>xxxx</name>" .
  12. "<sex></sex>" .
  13. "<introduce>" .
  14. "<msgone>单身,求交往!</msgone>" .
  15. "<msgtwo>请叫我,码农!程序猿!</msgtwo>" .
  16. "</introduce>" .
  17. "</root>";*/
  18. echo '{
  19. "name":"张珊","age":"29","sex":"男","introduce":{
  20. "msgone":"单身,求交往!","msgtwo":"请叫我,码农!程序猿!"
  21. }
  22.  
  23. }';
  24. ?>

猜你在找的Ajax相关文章