Ajax steps

1. step:

create the object: XMLHttpRequest;

Maybe Remember the following forms should be a good way.

var xrt;

if(window.XMLHttpRequest)

{

 xrt=new XMLHttpRequest();

}

else

{

xrt=new ActiveXObject("Microsoft.XMLHttp");

}

Then we have created the object already.

2. step

send a request to the server:

 we usually use open and send methods to implement this function.

The Object of XMLHttpRequest has two methods: open and send;

open:

there parameters:

1)methods: two types of request: post and get;

2) URL: the location of the file on the server;

3) ASYN: true (asynchronous异步) or false (synchronous同步)

URL:Yeah, we should initialize the file on the server, it is like the address of the file;


3. step:

Server response

We use the object of XMLHttpResponse's two properties. responseText or responseXML;

responseText: response the data as a string

while responseXML: response the data as XML data;

4. Ajax the onreadystatechange event:

The onreadystatechange event is always triggered by the readyState changing. The readyState holds the status of the XMLHttpRequest;

1) readyState and status

200 Ok

404 not found;


//

The following is an example:

<html>
<head>
<title>Show Hint</title>
<script type="text/javascript">
function showHint(str){
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHttp");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("suggestion").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getCityState.php?q="+str, true);
xmlhttp.send();
}
</script>
</head>
<body>
<h3>Start typeing a name in the input field below:</h3>
<label>First Name:</label>
<input type="text" name="firstname" οnkeyup="showHint(this.value)" />
<div>
<label>Suggestion:</label>
<span id="suggestion"></span>
</div>
</body>
</html>


//The following one is the GetCityState.php file

<?php 
$a[]="Anna";
$a[]="Brittany";
$a[]="Cinderella";
$a[]="Diana";
$a[]="Eva";
$a[]="Fiona";
$a[]="Gunda";
$a[]="Hege";
$a[]="Inga";
$a[]="Johanna";
$a[]="Kitty";
$a[]="Linda";
$a[]="Nina";
$a[]="Ophelia";
$a[]="Petunia";
$a[]="Amanda";
$a[]="Raquel";
$a[]="Cindy";
$a[]="Doris";
$a[]="Eve";
$a[]="Evita";
$a[]="Sunniva";
$a[]="Tove";
$a[]="Unni";
$a[]="Violet";
$a[]="Liza";
$a[]="Elizabeth";
$a[]="Ellen";
$a[]="Wenche";
$a[]="Vicky";

$q=$_GET["q"];
if(strlen($q)>0){
$hint="";
for($i=0;$i<count($a);$i++){
if(strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
{
if($hint=="")
{
$hint=$a[$i];
}
else
{
$hint=$hint." , ".$a[$i];
}
}
}
}
if($hint=="")
{
$response="no suggestion";
}
else
{
$response=$hint;
}
echo $response;
?>


//One important thing is that please use the correct capital letter: 

eg>  if(xmlhttp.readyState==4) here I type readystate's 's' in lower case, But still I can't get the correct result.

And the second one is that 

xmlhttp.readyState==4 && xmlhttp.status==200;

Then we need to remember this value. 




















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值