ajax对象get案例分析
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
function checkname(){
var nm=document.getElementById('username').value;
//建立Ajax对象
var xhr=new XMLHttpRequest();
//创建一个新的http请求,并设置请求的一个服务器端的地址,
//对象.open(请求方式get/post方式,url地址);
xhr.onreadystatechange=function(){
//获得readyState状态变化信息
//console.log(xhr.readyState);
//要随时感知ajax的变化
/*onreadystatechange是ajax的一个事件,在readyState状态发生变化的时候被触发,
为了感知最多的状态信息,要设置在对象创建完毕之后*/
if(xhr.readyState==4){
alert(xhr.responseText);
//document.getElementById('result').innerHTML=xhr.responseText;
}
}
xhr.open('GET','./ajax_04.php?name='+nm);
//发送http请求
xhr.send(null);
}
get请求(ajax用户校验)
用户名:
写入后端代码:
//服务端用户名校验
$exists_name=array('mary','jack','linken','bier');
//输出客户端传递过来的用户名信息
print_r($_GET);
?>
ajax之get方式请求
ajax之get请求需要注意的地方:
在url地址后边以请求字符串(传递的get参数信息)形式传递数据。
对中文,=,&等特殊符号处理
对特殊信息的处理
在浏览器里通过get参数传递一些特殊符号信息会被误解混淆,例如& =等,浏览器会把这样的信息当做get参数的一部分而进行一个错误的解析.
代码如下:
html代码:
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
function checkname(){
var nm=document.getElementById('username').value;
nm=encodeURIComponent(nm);
//建立Ajax对象
var xhr=new XMLHttpRequest();
//创建一个新的http请求,并设置请求的一个服务器端的地址,
//对象.open(请求方式get/post方式,url地址);
xhr.onreadystatechange=function(){
//获得readyState状态变化信息
//console.log(xhr.readyState);
//要随时感知ajax的变化
/*onreadystatechange是ajax的一个事件,在readyState状态发生变化的时候被触发,
为了感知最多的状态信息,要设置在对象创建完毕之后*/
if(xhr.readyState==4){
alert(xhr.responseText);
//document.getElementById('result').innerHTML=xhr.responseText;
}
}
xhr.open('GET','./ajax_04.php?name='+nm+'&age=20');
//发送http请求
xhr.send(null);
}
get请求(ajax用户校验)
用户名:
php代码:
//服务端用户名校验
$exists_name=array('mary','jack','linken','bier');
//输出客户端传递过来的用户名信息
$name=$_GET['name'];
//判断用户输入名字是否存在
print_r($_GET);
//if(in_array($name,$exists_name)){
//echo "用户名已经占用";
//}else{
//echo '恭喜,可以使用';
//}
?>
对特殊符号进行处理
&---%26
例2 对url编码案例
http://localhost:8989/php/Ajax/ajax_04.php?kemu=javascript%26php%3Dhtml
//对服务器端请求的同时传递get参数的信息
$subject="javascript&php=html";
$subject=urlencode($subject);
echo "itcast";
?>