1、总结php
一、多复习:代码都挺简单的,就是须要复习,要多看html
二、ajax原理:ajax就是部分更新页面,其实还在的html页面监听到事件后,而后传给服务器进行操做,这里用的是get方式来传值到服务器,ajax
三、ajax和全页面更新的区别:ajax和全页面更新的区别是全页面更新返回的是整个页面,而ajax只返回的是修改部分的数据, 并且主要是经过window对象的XMLHttpRequest对象来实现的算法
四、实现ajax的步骤:实现ajax服务器端就是返回部分数据,页面端就是新建对象而后执行这个对象的几个函数,a、建立对象 b、onreadystatechange c、open d、send数组
2、ajax和php浏览器
AJAX 被用于建立交互性更强的应用程序。服务器
ajax php实例函数
实例解释HTML页面:ui
当用户在上面的输入框中键入字符时,会执行 "showHint()" 函数。该函数由 "onkeyup" 事件触发:this
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行的代码
xmlhttp=new XMLHttpRequest();
}
else
{
//IE6, IE5 浏览器执行的代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}
在输入框中输入一个姓名:
姓名:
返回值:
源代码解释:
若是输入框是空的(str.length==0),该函数会清空 txtHint 占位符的内容,并退出该函数。
若是输入框不是空的,那么 showHint() 会执行如下步骤:
一、建立 XMLHttpRequest 对象
二、建立在服务器响应就绪时执行的函数
三、向服务器上的文件发送请求
四、请注意添加到 URL 末端的参数(q)(包含输入框的内容)
注意点:
一、标签文本域置空:第8行,标签文本域置空
二、添加函数:第21行,给新建的XMLHttpRequest对象添加函数,这个函数就是接受从服务器那里传来的数据,
三、服务器接受的ajax返回数据:第25行,responseText多是XMLHttpRequest对象的属性
四、get传值:第28行,get方式传值,?后面接参数,=号链接键和值
五、onkeyup事件:第37行,onkeyup 事件会在键盘按键被松开时发生。
六、标签js传参中的this的应用:第37行,标签中的this对象指的就是标签自己
php文件
上面这段经过 JavaScript 调用的服务器页面是名为 "gethint.php" 的 PHP 文件。
"gethint.php" 中的源代码会检查姓名数组,而后向浏览器返回对应的姓名:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// 将姓名填充到数组中
$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";
//从请求URL地址中获取 q 参数
$q=$_GET["q"];
//查找是否由匹配值, 若是 q>0
if (strlen($q) > 0)
{
$hint="";
for($i=0;$i
{
if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
{
if ($hint=="")//是不是第一个
{
$hint=$a[$i];
}
else
{
$hint=$hint." , ".$a[$i];
}
}
}
}
// 若是没有匹配值设置输出为 "no suggestion"
if ($hint =="")
{
$response="no suggestion";
}
else
{
$response=$hint;
}
//输出返回值
echo $response;
?>
解释:若是 JavaScript 发送了任何文本(即 strlen($q) > 0),则会发生:
查找匹配 JavaScript 发送的字符的姓名若是未找到匹配,则将响应字符串设置为 "no suggestion"若是找到一个或多个匹配姓名,则用全部姓名设置响应字符串把响应发送到 "txtHint" 占位符
注意点:
一、$_GET[]:第35行,超全局变量$_GET[]的使用
二、strlen():第38行,strlen函数的使用
三、数据链接:第43-52行,找因此前面包含传入参数的数据
四、字符串链接:第51行,点变量用于字符链接
五、算法逻辑:整个算法逻辑就是,用从页面传入过来的参数找适合的东西返回到页面去