本文阐述了用PHP ajax获取新闻数据的方法。分享给大家参考,如下:
通过获取获得的信息是一个字符串(响应文本)
可以使用JSON对象方法:stringify()和parse()在字符串和对象之间进行转换
var arr=[1,2,3];var a={ left :100 };//alert(JSON . stringify(a));//JSON . stringify(arr)的类型是字符串。JSON对象的输出有严格的格式:' {'left':100} ',变量值应为双引号var s1='[1,2,3]';var s2=' { left:100 }var s3=' { ' left ' :100 }//alert(JSON . parse(S1));//-输出数组[1,2,3]//alert(JSON . parse(S2));//-错误。因为JSON对象格式比较严格,所以必须是:“{ left ' :100 }”alert(JSON . parse(S3)的格式。左);//-输出对象对象Ajax获取服务器内容示例:
GetNews.php代码:
?phpheader(' content-type : text/html;charset=' utf-8 ' ');error _ reporting(0);$news=array(array('title'='习近平与代表们讨论两会细节',' date'='2016-3-16 '),array('title'='李克强对如何解决'工资从8000元到现在只有5000元'的回答',' date'=' 2016-' Array('title'='辽宁'老虎'在两会闭幕后三年又连续三年跃升副部级',' date '=' 2016-2016 array ('title'='宁波市市长卢子跃因严重违纪被查,被控行贿司新亮',' date'=' 2016-3-16 ' Array('title'='昵称Cherry Maruko ',' date'='2016-3-16 '),Array(' title '='外媒:印尼警方击毙两名中国极端分子',' date '=' 2016-3-16 '),Array echo JSON _ encode($ news); 文件getNews.php在浏览器中显示如下:复制代码为:[{ ' title ' : ' u4e 60 u8fd 1 u5e 73 u540 c u4ee 3 u 8868 u59 D4 u 5458 u 5171 u 5546 u 5546。' u56fdu5e73 ',' date':'2016-3-16'},span style=' font-family : Arial,Helvetica,无衬线;'{ ' title ' : ' u674 e u514 b u5f3a u7b 54 u5982 u4f 55 u89e 3 u51 B3 ' u5de 5 u8d 448000 u 5143 u 5230 u 624 b u4ec 55000 u 5143 ',' date ' 3: ' 2016-3-16 ' },/spanspan{ ' title ' : ' u4e 24 u4f1a u95ed u5e 55 u8fbd u5b 81 ' u 8001 u 864 e ' u 843d u9a6c u 66 Fe 3 u 5e 743 u8fde u8df 3 u 5347 u 526 f u 90e 8 u7e a 7 ',' date ' : ' 2016-3-3-3
返回一个包含七个JSON对象的数组,每个对象有两个属性:标题和日期
前端需要做的就是获取这些数据,通过DOM操作放到网页的相应位置。
Ajax:通过一定的接口(文件)去服务器取数据,根据数据特征将检索到的数据放在客户端网页上进行处理。
正文输入id='btn '类型='按钮'值='按钮/ul id='ul1 '获取新闻到该处/ul脚本src=' http : JSON。js '/script script src=' http : Ajax。js '/script/body xhr。开(‘得到’,‘getNews.php’,真);xhr。setrequestheader('内容类型',' application/x-www-form-URL编码');xhr。send();xhr。onreadystatechange=function(){ if(xhr。readystate==4){ if(xhr。status==200){ var data=JSON。解析(xhr。response text);varoUl=文档。getelementbyid(' ul1 ');var html=//DOM操作,把服务器取回的内容显示在网页上for(var I=0;idata.lengthi ) { html='阿利herf=' ' '数据[i].标题/a[span]数据[i].日期/span/Li ';} oUl.innerHTML=html}else{ alert('出错了,err : ' xhr。地位);} }}取回数据的页面:
ajax函数简单封装
functionajax(方法、网址、数据、fn){ try { xhr=new XMLHttpRequest();} catch(e){ xhr=new activexoobject(' Microsoft .XMLHTTP’);}如果(方法==“获取”数据){ url=“?”数据;} xhr.open(方法、url、true);if(method==' get '){ xhr。send();} else { xhr。setrequestheader(' content-type ',' application/x-www-form-URL编码')xhr。发送(数据);} xhr。onreadystatechange=function(){ if(xhr。readystate==4){ if(xhr。status==200){ fn(xhr。response text);}else{ alert('出错了,err : ' xhr。地位);} } }}ajax轮询方式获取服务器资源
setInterval(function(){ Ajax(' get ',' getNews.php ','),function(data){ var data=JSON。解析(数据);//参数回调var OUl=文档。getelementbyid(' ul1 ');var html=for(var I=0;idata.lengthi ){ html='li aherf=' '数据[i].标题/a[span]数据[i].日期/span/Li ';} OUl . innerHTMl=html });},1000);//ajax轮询方式,1秒钟自动更新一次页面//ajax。真正的轮询不会1s钟一次那么快,这样太耗资源。更多关于服务器端编程语言(专业超文本预处理器的缩写)相关内容感兴趣的读者可查看本站专题: 《PHP+ajax技巧与应用小结》 、 《PHP网络编程技巧总结》 、 《PHP基本语法入门教程》 、 《php面向对象程序设计入门教程》 、 《php字符串(string)用法总结》 、 《php+mysql数据库操作入门教程》 及《php常见数据库操作技巧汇总》
希望本文所述对大家服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。