http://www.w3schools.com/XML/xml_http.asp

解决方案 »

  1.   

    XMLHTTP 不是说不能跨域访问的吗?
      

  2.   

    <html>
    <head>
    <script>
    var xmlHttp = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
    window.onload=function()
    {
        xmlHttp.open("get","http://topic.csdn.net/u/20090203/13/f5ff51c5-879e-4975-a2f3-2ffe84bdc962.html",true); 
        xmlHttp.onreadystatechange = processRequest;
        xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
        xmlHttp.send(null);

    function processRequest()
    {
        if(xmlHttp.readyState==4)
        {
            if(xmlHttp.status==200)
            {
                alert(xmlHttp.responseText);
                document.getElementById("container").innerHTML=xmlHttp.responseText;
            }
        }
    }
    </script>
    </head>
    <body>
    <div id="container"></div>
    </body>
    </html>
      

  3.   

    不会有这段提示吧。楼主参考下面代码<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <script type="text/javascript">$ = document.getElementById;var ForAppending = 8; // 追加模式
    var ForReading = 1; // 读取模式
    var ForWriting = 2; // 写入模式function AppendFileText(filename, text)
    {
        var fso = new ActiveXObject("Scripting.FileSystemObject"); // 文件系统
        var istream = fso.OpenTextFile(filename, ForAppending, true);
        if (!istream) return;
        try {
            istream.write(text);
            istream.Close();
            return true;
        } catch (e) {
            return false;
        } finally {
            istream = null;
            fso = null;
        }
    }/// <summary>
    /// 追加日志
    /// </summary>
    /// <param name="text">日志文本</param>
    function AppendLog(text) {
        $("TextareaLog").value += text;
        AppendFileText("log.txt", text);
    }/// <summary>
    /// 获取链接的文本内容
    /// </summary>
    /// <param name="url">页面链接地址</param>
    /// <returns>返回页面HTML文本</returns>
    function GetUrlText(url) {
        var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        try {
            xmlhttp.open("get", url, false);
            xmlhttp.send();
            return xmlhttp.responseText;
        } catch (e) {
            return "";
        } finally {
            xmlhttp = null;
        }
    }function dateFormat(date, separator){
        date = typeof date == "number" ? new Date(date) : 
            (typeof date == "string" ? new Date(Date.parse(date)) : date);
        separator = typeof separator == "string" ? separator : "$1年$2月$3日 $4时$5分$6秒";
        var str = "" + date.getFullYear() + "-" + (date.getMonth() + 101) + "-" + (date.getDate() + 100) + " " +
            (date.getHours() + 100) + ":" +(date.getMinutes() + 100) + ":" + (date.getSeconds() + 100);
        return str.replace(/^(\d+)-\d*(\d{2})-\d*(\d{2}) \d*(\d{2}):\d*(\d{2}):\d*(\d{2})$/g, separator);
    }function GameItem(itemText) {
    var re = /<td>\s*<a\s+href="\/Games\/PawnList.aspx\?id=(\d+)&checkid=(\d+)"\s*target="_blank">\s*([A-Z]+):\s*(.*?)<\/a>\s*<\/td>\s*<td>\s*(.*?)\s*<\/td>\s*<td>\s*(\d+)\s*\/\s*(\d+)\s*.*?<\/td>/ig;
    var match = re.exec(itemText);
    if (!match) return;
    this.gameid = match[1];
    this.checkid = match[2];
    this.index = match[3];
    this.caption = match[4];
    this.odds = match[5];
    this.point = match[6];
    this.count = match[7];
    }function GameInfos(htmlText) {
    htmlText = htmlText.replace(/\r\n/g, " ");
    var re = /<span\s+class="time">停止时间:(.*?)<\/span>/ig;
    var match = re.exec(htmlText);
    this.time = new Date(match[1].replace(/-/g, "//"));

    var matchs = htmlText.match(/<td>\s*<a\s+href="\/Games\/PawnList.aspx\?id=(\d+)&checkid=(\d+)"\s*target="_blank">\s*([A-Z]+):\s*(.*?)<\/a>\s*<\/td>\s*<td>\s*(.*?)\s*<\/td>\s*<td>\s*\d+\s*\/\s*\d+\s*.*?<\/td>/ig);
    this.items = [];
    this.point = 0;
    this.count = 0;
    for (var i = 0; matchs && i < matchs.length; i++) {
    var item = new GameItem(matchs[i]);
    this.items.push(item);
    this.point += parseInt(item.point);
    this.count += parseInt(item.count);
    }
    }function PostRequest(url, deleteInfo) 
    {
        var data = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=" + encodeURIComponent(deleteInfo.viewState) + 
            "&reasonGroup=2&ctl00%24ContentPlaceHolder1%24tb_Reason=" + encodeURIComponent($("TextReason").value) + 
            "&ctl00%24ContentPlaceHolder1%24bt_Submit=%E7%A1%AE%E5%AE%9A&" + 
            "__EVENTVALIDATION=" + encodeURIComponent(deleteInfo.eventValidation);
        var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        try {
            xmlhttp.open("Post", url, false); 
            xmlhttp.setRequestHeader("Referer", url); 
            xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
            xmlhttp.setRequestHeader("Accept-Encoding", "gzip,deflate"); 
            xmlhttp.setRequestHeader("Content-Length", data.length); 
            xmlhttp.send(data); 
            return xmlhttp.responseText;
        } catch (e) {
            return e.message;
        } finally {
            xmlhttp = null;
        }
    } function CheckboxRefreshClick() {
    if (!$("CheckboxRefresh").checked) return;
    var htmlText = GetUrlText("http://community.csdn.net/Games/GamePawn.aspx?id=" + $("TextareaId").value + "&_t_" + Math.random());
    var gameInfos = new GameInfos(htmlText);
    var note = "";
    var webTime = new Date(new Date().getTime() + parseInt($("TextareaDiffer").value));
    note += "时间:" + dateFormat(gameInfos.time) + "\r\n";
    note += "时间:" + dateFormat(webTime) + "\r\n";
    note += "倒计时:" + (gameInfos.time - webTime) / 1000 + "秒\r\n";
    note += "总分数:" + gameInfos.point + "\r\n";
    note += "总人数:" + gameInfos.count + "\r\n";
    note += "-------明细------\r\n";
    for (var i = 0; i < gameInfos.items.length; i++) {
    note += "选项:" + gameInfos.items[i].index + ",";
    note += "人数:" + gameInfos.items[i].count + ",";
    note += "分数:" + gameInfos.items[i].point + ",";
    note += "平均:" + parseInt(gameInfos.items[i].point) / parseInt(gameInfos.items[i].count) + "\t";
    note += gameInfos.items[i].caption + "\r\n";
    }
    $("TextareaNote").value = note;
    setTimeout("CheckboxRefreshClick();", parseInt($("TextareaDelay").value));
    }
    </script><table style="width:100%;height:100%;">
        <tr style="height:10%">
            <td>
                <div>
                    ID:<input type="input" value="337" id="TextareaId" style="width:50px;" />
    <input type="checkbox" id="CheckboxRefresh" onclick="CheckboxRefreshClick();" /><label for="CheckboxRefresh">自动刷新</label>
    刷新频率(毫秒):<input type="input" value="1000" id="TextareaDelay" style="width:60px;" />
    网络时间差(毫秒,服务器减本地时间):<input type="input" value="12000" id="TextareaDiffer" style="width:60px;"/>
                </div>
                <div>
                </div>
            </td>
        </tr>
        <tr>
            <td>
                信息:
                <textarea id="TextareaNote" style="width:100%; height:100%"></textarea>
            </td>
        </tr>
        <!--<tr>
            <td>
                日志:
                <textarea id="TextareaLog" style="width:100%; height:100%"></textarea>
            </td>
        </tr>-->
    </table>
    </body>
    </html>
      

  4.   

    提醒一下,如果你是Windows系统的话,而且你是做web server的情况,使用ServerXMLHTTP比较好。至于为什么,你可以参考以下文章:
    http://support.microsoft.com/kb/290761
      

  5.   

    用JavaScript截取网页中的有用代码,放到自己的显示区域内。