PHP和ajax详解

优点:减轻服务器的负担,按需取数据,最大程度的减少冗余请求
局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验
基于xml标准化,并被广泛支持,不需安装插件等
进一步促进页面和数据的分离
缺点:AJAX大量的使用了javascript和ajax引擎,这些取决于浏览器的支持.在编写的时候考虑对浏览器的兼容性.
AJAX只是局部刷新,所以页面的后退按钮是没有用的.
对流媒体还有移动设备的支持不是太好等

 

实例化ajax

//实例化对象 var xmlhttp=null; if(window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); }else{ xmlhttp=ActiveXObject("Mircrosoft.XMLHTTP"); //浏览器是否支持 XMLHttpRequest 对象 }

//向服务器发送请求

xmlhttp.open("请求的类型get或post","文件在的服务器上位置","true异步或false同步");
xmlhttp.send();//将请求发送到 服务器上

setRequestHeader("头名称","规定头的值");

//服务器响应
responseText(); //获取字符串形式的响应数序
responseXML(); //获取XML形式的响应数据

onreadystatechange事件
//当请求发送到服务器的时候,我们需要执行

XMLHttpRequest的三个重要属性
onreadystatechange 存储函数,每当readyState属性改变时,就会调用该函数
readystate XMLHttpRequest的状态
0为请求未初始化
1服务器连接已建立
2 请求已接收
3 请求处理中
4 请求已完成,且响应已就绪

status 200 “OK” 404 未找到页面

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }











 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
</head>
<body>
    <form  entype="multipart/form-data" name="aax">
    	<table border="0" width="300">
    		<tr>
    			<td>名称</td>
    			<td><input type="text" name=name /></td>
    		</tr>
    		<tr>
    			<td>类型</td>
    			<td>
    			<select name="s">
    				<option value="1">服装</option>
    				<option value="2">视频</option>
    				<option value="3">汽车</option>
    			</select>
    			</td>
    		</tr>
    		<tr>
					<td align="right">单价:</td>
					<td><input type="text" name="price"/></td>
				</tr>
				<tr>
					<td align="right">库存:</td>
					<td><input type="text" name="total"/></td>
				</tr>
				<tr>
					<td align="right">图片:</td>
					<td><input type="file" name="pic"/></td>
				</tr>
				<tr>
					<td align="right" valign="top">描述:</td>
					<td><textarea rows="5" cols="20" name="note"></textarea></td>
				</tr>
				<tr>
					
					<td colspan="2" align="center">
						<input type="submit" onclick="ajax();"  value="添加"/>   
						<input type="reset" value="重置"/>
					</td>
				</tr>
    	</table>

    </form>
    <script>

function ajax()
{
var f=document.aax;
var name=f.name.value;
var typeid=f.s.value;
var pic=f.pic.value;
var price=f.price.value;
var note=f.note.value;

var xmlhttp=null;
if(window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}else{

xmlhttp=ActiveXObject("Microsoft.XMLHTTP");
}
var lian="name="+name+"&typeid="+typeid+"&pic="+pic+"&price="+price+"&note="+note;
$xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xmlhttp.open("get","addcas.php",true);
xmlhttp.send(null);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{

document.getElementById("sed").innerHTML=$xmlhttp.responeseText;
}
};

}

    </script>
</body>
</html>

  

posted @ 2016-05-24 20:46  尘梦  阅读(2601)  评论(0编辑  收藏  举报