Ajax常用的几个函数及Alexa查询的几个查询接口及使用方法


var xmlHttp;
function creatXMLHttpRequest() {
    
if(window.ActiveXObject) {
        xmlHttp 
= new ActiveXObject("Microsoft.XMLHTTP");
    } 
else if(window.XMLHttpRequest) {
        xmlHttp 
= new XMLHttpRequest();
    }
}

//POST方式提交
function startRequest() {
    
var queryString;
    
var domain = document.getElementById("domain").value;
    queryString 
= "domain=" + domain;
    creatXMLHttpRequest();
    xmlHttp.open(
"POST","url.php","true");
    xmlHttp.onreadystatechange 
= handleStateChange;
    xmlHttp.setRequestHeader(
"Content-Type","application/x-www-form-urlencoded;");
    xmlHttp.send(queryString);
}

//GET方式提交
function startRequest() {
    
var url = "test.php?a=1&b=2&c=3";
    creatXMLHttpRequest();
    xmlHttp.open(
"GET",url,"true");
    xmlHttp.onreadystatechange 
= handleStateChange;
    xmlHttp.setRequestHeader(
"Content-Type","application/x-www-form-urlencoded;");
    xmlHttp.send(
null);
}

function handleStateChange() {
    
if(xmlHttp.readyState == 1) {
        document.getElementById(
"result").style.cssText = "";
        document.getElementById(
"result").innerHTML = "<div align=\"center\">Loading</div>";
    }
    
if(xmlHttp.readyState == 4) {
        
if(xmlHttp.status == 200) {
            document.getElementById(
"result").style.cssText = "";
            
var allcon =  xmlHttp.responseText;
            document.getElementById(
"result").innerHTML = allcon;
        }
    }


■ 以下是引用内容: 
接口一:
http:
//data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&ac  p;t=0&ttl=35371&vis=1&rq=4&url=http://www.baidu.com

接口二:
http:
//data.alexa.com/data/TCaX/0+qO000fV?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=31472&a  p;t=0&ttl=4907&vis=1&rq=23&url=http://www.baidu.com

接口三:
http:
//data.alexa.com/data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=16865&  p;t=0&ttl=1125&vis=1&rq=2&url=http://www.baidu.com

接口四:
http:
//data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&ac  p;t=0&ttl=35371&vis=1&rq=4&url=http://www.baidu.com

接口参数说明:
ezdy01DOo100QI是aid。
"cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&"这部分是固定值。
wid是个随机数。
act数据包含了Alexa Toobar功能的被使用情况。
ss很明显是屏幕分辨率了。
bw是IE窗口的宽度。
t取值是0或1,和当前IE的window对象还有referrer有关。
ttl是当前页面打开速度,和Site Stats中的Speed有关。
vis表明IE是否显示工具条。
rq是对象计数器。 


使用方法:
■ 以下是代码片断: 
$domain 
= $_POST['domain'];

if(!empty($domain)){
    $url 
= trim($_POST["domain"]); 
    $string
= file_get_contents("http://data.alexa.com/data/+wQ411en8000lA?cli=  er=7.0&url=$url");
    
//$string=iconv("gb2312","utf-8",$string);
    //header("content-Type: text/html; charset=utf-8");
    echo "<table color='#FFFFFF' align=\"center\"><tr><td>";
    $pat3
= "/URL=\"(.+)\" TEXT=\"(.+)\"/i";
    preg_match_all($pat3, $string, $array);
    
if(empty($array[2][0])){echo "<b>alexa: no data</b>&nbsp;&nbsp;&nbsp;";}
    
else {
        echo 
" <b>世界排名:</b> 第 <font color=\"#ff0000\">".($array[2][0])." </font>名&nbsp;&nbsp;&nbsp;";
    }
    $pat6
= "/RANK DELTA=\"(.+)\"/i";
    preg_match($pat6, $string, $array);
    echo 
"<b>名次浮动:</b> <font color=\"#ff0000\">".($array[1])."</font> 名&nbsp;&nbsp;&nbsp;";
    $pat5
= "/LINKSIN NUM=\"(.+)\"/i";
    preg_match($pat5, $string, $array);
    echo 
"<b>外部链接:</b> <a style=\"color:#ff0000\" target=\"_blank\" href=\"http://www.alexa.com/data/ds/linksin?q=link:".$domain.&  main."\">".($array[1])."</a><br><br>";
    $pat7="/DATE=\"(.+)\" DAY=\"(.+)\" MONTH=\"(.+)\" YEAR=\"(.+)\"/i";
    preg_match_all($pat7, $string, $array);
    echo 
"<b>收录时间:</b> <font color=\"#ff0000\">".($array[4][0])."</font>年<font color=\"#ff0000\">".($array[3][0])."</font>月<font color=\"#ff0000\">".($array[2][0])."</font>日&nbsp;&nbsp;&nbsp;";
    $pat9
="/CAT ID=\"(.+)\" TITLE=\"(.+)\" CID=\"(.+)\"/i";
    preg_match_all($pat9, $string, $array);
    
if(empty($array[1][0])){echo "<b>收录目录:</b> <font color=\"#ff0000\">未被DMOZ收录</font><br><br>";}
    
else {
        echo 
"<b>收录目录:</b> <font color=\"#ff0000\">".($array[1][0])."</font><br><br>";
    }
    echo 
"</td></tr></table>";
    die();


你可能感兴趣的:(Ajax)