什么是ajax?
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML,现如今xml被json取代),是指一种创建交互式网页应用的网页开发技术
Ajax 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
ajax的优缺点:
优点:使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。
Ajax不需要任何浏览器插件,但需要用户允许javascript在浏览器上执行。Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。
缺点:它可能破坏浏览器的后退与加入收藏书签功能。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的可能差别非常微妙;
用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。不过目前已有相关技术可以解决该弊端。方法有两个:(1)html5之前的方法大多是在用户单击后退按钮访问历史记录时,通过创建或
使用一个隐藏的IFRAME来重现页面上的变更。(2)html5以后可以直接操作浏览历史,并以字符串形式存储网页状态,将网页加入网页收藏夹或书签时状态会被隐形地保留。
ajax工作原理:
ajax应用场景:
前台获取数据
表单的失焦验证
php简单介绍:
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预编译语言”)是一种通用开元脚本语言。语法吸收了C语言、Java和perl的特点,利于学习,使用广泛,主要适用于web开发领域。PHP还可以执行编译后代码,
编译可以达到加密和优化代码运行,使代码运行更快。
PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
PHP 文件的默认文件扩展名是 ".php"
php基础语法:
PHP 脚本以 <?php 开始,以 ?> 结束:
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。
PHP 变量规则:
变量以 $ 符号开始,后面跟着变量的名称
变量名必须以字母或者下划线字符开始
变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
变量名不能包含空格
变量名是区分大小写的($y 和 $Y 是两个不同的变量)
PHP 会根据变量的值,自动把变量转换为正确的数据类型。
字符串之间使用 " . " 连接
get和post的区别:
get参数是在地址栏中,大小2000个字符左右
post参数是在请求体中,网速良好,理论上是无限大的
在服务器(xxamp)中运行php文件的方法:
localhost:+端口号
127.0.0.1+端口号
ip+端口号
ajax实例:
1 // 1.创建ajax对象-xmlhttprequest对象 2 // XMLHttpRequest 对象 3 4 // variable=new XMLHttpRequest(); 新版本的浏览器 5 // variable=new ActiveXObject("Microsoft.XMLHTTP"); //老版本的IE ,IE5,IE6 6 var xhr; 7 if(window.XMLHttpRequest){ //常规,如果有,直接使用 8 xhr = new XMLHttpRequest(); 9 }else{ //如果没有,老版本IE 10 xhr = new ActiveXObject("Microsoft.XMLHTTP"); 11 } 12 console.log(xhr) 13 console.log("状态码:" + xhr.readyState); 14 console.log('响应码:' + xhr.status); 15 console.log('响应文本:' + xhr.responseText); 16 console.log('步骤一完成') 17 18 19 // 2.通过监听ajax的状态的改变来监听 20 xhr.onreadystatechange = function(){ 21 console.log('xhr的状态码发生了改变'); 22 console.log("状态码:" + xhr.readyState); 23 console.log('响应码:' + xhr.status); 24 console.log('响应文本:' + xhr.responseText); 25 console.log('\n'); 26 } 27 console.log('步骤二完成') 28 29 // 3.创建请求的消息,连接服务器 状态码0=>1 30 xhr.open('GET','07.php',true); //最后一个参数是bool,表示同步||异步,true异步 31 console.log('步骤三完成') 32 33 // 4.发送 34 xhr.send(null); //如果是post请求,就放post参数,如果是get请求,发送null就行了
状态码:readystate
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理
4: 请求已完成,且响应已就绪
http状态响应码:
1xx 信息类
100 (继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分
2xx 成功
200 (成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
3xx 重定向
304 (未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
4xx 客户端错误
404 (未找到)服务器找不到请求的网页。
5xx 服务端错误
503 (服务不可用)服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。