国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
用 Ajax 和 RSS 攢個首頁新聞——(上) - 2ndboy的專欄
  為了排遣這段時間的無聊也順便做個 RSS 應用的練習,決定給自己維護的一個小網(wǎng)站加個首頁新聞,瀏覽器用 Ajax 或者 Ajah 從服務(wù)器取新聞異步的顯示出來,同時提供 RSS 源供聚合器訂閱。
 
  XMLHTTPRequest 從上次做過一個手機模擬器后就再沒碰過,這次在網(wǎng)上搜尋了一番居然發(fā)現(xiàn)了一個好東西:http://www.scss.com.au/family/andrew/webdesign/xmlhttprequest/,一個 Cross-Browser 的 XMLHttpRequest 實現(xiàn),作者在創(chuàng)作共用條款(Creative Commons License)下發(fā)布這個庫,只要你不移除腳本中作者的姓名和網(wǎng)址就可以自由使用,就用它了!下載 xmlhttprequest.js 以備后用。
 
  數(shù)據(jù)可以保存在數(shù)據(jù)庫中也可以簡單的寫入到服務(wù)器的一個文件中,為了靈活起見我就在 MySQL 中新建一個表放站內(nèi)新聞了,就這么幾個字段:id、title、content、time。新聞錄入和從數(shù)據(jù)庫中取數(shù)據(jù)提供給 Ajax/Ajah 請求這種垃圾代碼我就不貼了:-)
 
  下面是客戶端 XMLHTTPRequest 的代碼:
<html>
  <head>
    <title>首頁新聞測試</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script type="text/javascript" src="xmlhttprequest.js"></script>
  </head>
  <body>
    <div id="News">新聞讀取中……</div>
    <script type="text/javascript">
    var req = new XMLHttpRequest();
    if( req )
    {
      req.onreadystatechange = function()
      {
        var News = "新聞讀取失敗";
        try
        {
          if( req.readyState == 4 && ( req.status == 200 || req.status == 304 ) )
            News = req.responseText;
        }
        catch(e)
        {
          News = e.description;
        }
        document.getElementById( ‘News‘ ).innerHTML = News;
      };
      req.open( ‘GET‘, ‘news.php‘ );
      req.send( null );
    }
    </script>
  </body>
</html>
 
  這里唯一值得說明的就是 XMLHTTPRequest 默認是用 UTF-8 傳遞數(shù)據(jù)的,所以你的數(shù)據(jù)源最好也用 UTF-8 否則(因為我們這里客戶端已經(jīng)指定了要用 GB2312 了)得到的會是亂碼,這在 IE 下會引發(fā) JavaScript 錯誤,在 FireFox 下卻沒問題,所以我用 try 和 catch 把上面的代碼包住了,免得測試的時候出現(xiàn)錯誤。如果想試試的話可以用下面的代碼作為 news.php:
<?php
echo iconv( "GB2312", "UTF-8", "這就是新聞" );
//echo "這就是新聞";
?>
如果注釋掉第一句而開放第二句的話不僅看到的是亂碼,在 IE 下還會出現(xiàn) -1072896748 錯誤。有意思的是 IE 好像還會緩存由 XMLHTTPRequest 收到的內(nèi)容,而 FireFox 則不會,所以在測試中會出現(xiàn)刷新 IE 很多次看到的還是舊數(shù)據(jù)的問題,可以在程序里加上下面 4 句話解決這個問題:
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
 
  呵呵,好了,今天就寫到這里,RSS 的部分明天再寫,開飯……


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=547782

[點擊此處收藏本文]   發(fā)表于 2005年12月09日 12:08 PM

 
johnny 發(fā)表于2005-12-09 10:06 PM  IP: 222.67.193.*
這里有個更簡單的。

 
johnny 發(fā)表于2005-12-09 10:09 PM  IP: 222.67.193.*
忘了地址了。。
http://iday.iecn.net/test/rss.htm

或者這里
http://sourceforge.net/projects/iafw
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ajax可以處理服務(wù)器返回數(shù)據(jù)類型?
鋒利的jQuery讀書筆記---jQuery中Ajax--load方法
ajax 使用心得
AJAX+servlet實例入門
Ajax簡介
用 AJAX 構(gòu)建支持實時驗證的 Web 應用程序
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服