zoukankan      html  css  js  c++  java
  • 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>
    

      

  • 相关阅读:
    Vue中使用axios时post传参之请求体带参
    MyBatisPlus常用功能之简介
    常用命令一二三之练习题
    常用命令之三
    常用命令之二
    常用命令之一
    阿里云之轻量文件分布式服务器-fastDFS
    js三座大山之三:异步和单线程
    js三座大山之二:作用域和闭包
    run build时内存溢出打包失败的解决办法
  • 原文地址:https://www.cnblogs.com/mengluo/p/5524742.html
Copyright © 2011-2022 走看看