Handling Google Suggest----AJAX


<head>
<title>Handling Google Suggest</title>
<style>
#targetDiv
{
background-color: #FFAAAA;
width: 40%;
}
</style>
<script type="text/javascript">
function getData(dataSource) {
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
if (XMLHttpRequestObject) {
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
var text = XMLHttpRequestObject.responseText.replace(
"window.google.ac.Suggest_apply", "callback");
text = text.substring(0, text.indexOf(";"));
eval(text);
}
}
XMLHttpRequestObject.send(null);
}
}
function askGoogleSuggest() {
var input = document.getElementById("textField");
if (input.value) {
getData("Default3.aspx?qu=" + input.value);
}
else {
var targetDiv = document.getElementById("targetDiv");
targetDiv.innerHTML = "<div></div>";
}
}
function callback(unusedVariable, searchTerm, arrayTerm,
unusedArray) {
var data = "<table>";
var loopIndex;
for (loopIndex = 1; loopIndex < arrayTerm.length;
loopIndex++) {
data += "<tr><td>" +
"<a href='http://www.google.com/search?q=" +
arrayTerm[loopIndex] + "'>" + arrayTerm[loopIndex] +
'</a></td><td>' + arrayTerm[++loopIndex] + "</td></tr>";
}
data += "</table>";
var targetDiv = document.getElementById("targetDiv");
targetDiv.innerHTML = data;
}
</script>
</head>
//Default3.aspx


protected void Page_Load(object sender, EventArgs e)
{
/*
* php code:
$filehandle =
fopen("http://www.google.com/complete/search?hl=en&js=true&qu=" .
$_GET["qu"], "r");
while (!feof($filehandle)){
$download = fgets($filehandle);
echo $download;
}
fclose($filehandle);
* */
string url = @"http://www.google.com/complete/search?hl=en&js=true&qu=" +this.Request["qu"];
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312"));
Response.Write(reader.ReadToEnd());
reader.Close();
reader.Dispose();
response.Close();
}
FROM: 《Ajax, a beginner's guide》