PHP和ajax详解
2016-05-24 20:46
585 查看
优点:减轻服务器的负担,按需取数据,最大程度的减少冗余请求
局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验
基于xml标准化,并被广泛支持,不需安装插件等
进一步促进页面和数据的分离
缺点:AJAX大量的使用了javascript和ajax引擎,这些取决于浏览器的支持.在编写的时候考虑对浏览器的兼容性.
AJAX只是局部刷新,所以页面的后退按钮是没有用的.
对流媒体还有移动设备的支持不是太好等
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+"¬e="+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;
}
};}
局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验
基于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+"¬e="+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>
相关文章推荐
- php session详解
- PHP注释
- brew install php55 报错 clang: error
- 远程管理FTP
- ftp客户端移植(基于netkit-ftp-0.17.tar.gz)
- [IIS] 配置PHP的过程与坑
- laravel 问题2 缓存view
- Laravel使用构建器来生成原生sql语句来对总和排序
- php编译中遇到种种error解决办法
- PHP中无限极分类函数的实现
- 部署NTP服务器进行时间同步
- PHP中XML和数组互相转换的方法
- PHP中XML和数组互相转换的方法
- php mysql支持emoji表情方案
- Yii2 kineditor
- PHP XML和数组互相转换
- JS调用PHP 和 PHP调用JS的方法举例
- SCCM TP4部署Office2013
- SCCM TP4部署Office2013
- 细说php常量-常量易错点-实际开发中常量用法