技术开发 频道

通过PHP+XML+jQuery构建“即时”功能

  迁移到 XML

  第一种方式是使用 XML 作为您从服务器到客户端的传输语法。此处的想法是服务器提供一个通用 XML 端点,任何流程都可以使用该端点来执行查询,并且您的客户端足够智能,能够读取 XML 并以其想要的方式来格式化它。

  要变成 XML,首先要创建如 清单 6 中所示的新服务器页面。

  清单 6. XML Ajax 页面

<?php
include
'Simpsons.php';

header(
'Content-type: text/xml' );

$s
= new Simpsons();
$doc
= new DOMDocument();
$root
= $doc->createElement( 'episodes' );
$doc->appendChild( $root );
foreach( $s
->find( $_REQUEST['q'] ) as $episode ) {
   $el = $doc->createElement( 'episode' );
   $el->setAttribute( 'title', $episode['title'] );
   $el->setAttribute( 'episode', $episode['episode'] );
   $el->setAttribute( 'season', $episode['season'] );
   $el->setAttribute( 'aired', $episode['aired'] );

   $tn
= $doc->createTextNode( $episode['summary'] );
   $el->appendChild( $tn );

   $root
->appendChild( $el );
}
print $doc
->saveXML();
?
>

  虽然搜索仍然一样,但是您格式化结果的方式变了。现在,该代码创建了 XML 文档并将节点附加到其上,从而保存所有返回的数据。然后在脚本的末尾,它只是将 XML DOM 保存为字符串。请注意在脚本的顶部,在导出 XML 而非 HTML 时,还要将内容类型设置为文本/xml。

  如果在您的 web 浏览器中导航到此页面,则您会看到类似 图 4 中的情况。

通过PHP+XML+jQuery构建“实时”功能
▲图4 XML 响应页面

0
相关文章