Skip to content

banner ajax
The Complete Reference: Ajax

Examples: Request Explorer - Results

Note: This page shows the results of the popular browser's support of setRequestHeader.

Live Example  Open in new window

This example will open a new window.

  • Front End
<?php
 
    require('database.inc');
    
    header("Cache-Control: no-cache");
    header("Pragma: no-cache");
        
    //get headers
    $headers = array();
    $query =      "SELECT distinct headerName from browser_headers_support ORDER BY headerName";
    $results = $mdb2->query($query);
    while ($row = $results->fetchRow())
        $headers[] = $row["headername"];  
    
    $browserdata = array("Firefox"=>array("version"=>"2.0"), "IE"=>array("version"=>"7.0"), "Opera"=>array("version"=>"9.1"), "Safari"=>array("version"=>"2.0"));
    $ignoreHeaders = array("Accept-Charset", "Accept-Encoding", "Content-Length", "Expect", "Date", "Host", "Keep-Alive", "Referer", "TE", "Trailer", "Transfer-Encoding", "Upgrade");
    $replaceHeaders = array("Authorization", "Content-Base", "Content-Location", "Content-MD5", "Content-Range", "Content-Type", "Content-Version", "Delta-Base", "Depth", "Destination", "ETag", "From", "If-Modified-Since", "If-Range", "If-Unmodified-Since", "Max-Forwards", "MIME-Version", "Overwrite", "Proxy-Authorization", "SOAPAction", "Timeout"); 
 
    //get browser data
    $query = "    SELECT * from browser_headers_support
                WHERE 
                    (    browserName = 'IE'
                        AND browserOS = 'WinXP'
                        AND browserVersion = '7'
                        AND browserVersionMinor = '0'
                    )
                OR
                    (
                        browserName = 'Firefox'
                        AND browserOS = 'WinXP'
                        AND browserVersion = '2'
                        AND browserVersionMinor = '0'
                    )
                OR
                    (
                        browserName = 'Opera'
                        AND browserOS = 'WinXP'
                        AND browserVersion = '9'
                        AND browserVersionMinor = '1'
                    )
                OR
                    (
                        browserName = 'Safari'
                        AND browserOS = 'MacOSX'
                        AND browserVersion = '2'
                        AND browserVersionMinor = '0'
                    )
            ";
            
    $results = $mdb2->query($query);
    while ($row = $results->fetchRow())
    {
        $browserdata[$row["browsername"]][$row["headername"]] =$row["headerstatus"];  
    }
    
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Chapter 3 : XMLHttpRequest - Request Explorer Results</title>
<link rel="stylesheet" href="global.css" type="text/css" media="screen" />
</head>
<body>
<h3>setRequestHeader() by Browser Results</h3>
<table border=1 width="100%" cellpadding=5 cellspacing=0>
<tr><th>Header Name</th><th>Expected Behavior</th>
<?php
foreach($browserdata as $browserName=>$browserData)
    print "<th>$browserName " . $browserData["version"] . "</th>";
?>
</tr>
 
<?php
foreach($headers as $headerName)
{
    print "<tr><td>$headerName</td>";
    if (in_array($headerName, $ignoreHeaders))
        $expected = "unchanged";
    else if (in_array($headerName, $replaceHeaders))
        $expected = "modified";
    else
        $expected = "appended";
    
    print "<td>$expected</td>";    
    foreach($browserdata as $browserName=>$data)
    {
        if (isset($data[$headerName]))
            $actual = $data[$headerName];
        else if ($headerName == "User-Agent")
            $actual = "modified";
        else
            $actual = "No Info";
            
        if ($actual == $expected)
            $className = "match";
        else if ($expected == "appended" && $actual == "modified")
            $className = "unknown";
        else if ($expected == "unchanged" && $actual == "does not exist")
            $className = "match";
        else
            $className = "nomatch";
            
        print "<td class='$className'>$actual</td>";
    }
    print "</tr>";
}
?>
</table>
 
</body>
</html>