zoukankan      html  css  js  c++  java
  • 原生Ajax 和Jq Ajax

      前言:这次介绍的是利用ajax与后台进行数据交换的小例子,所以demo必须通过服务器来打开。服务器环境非常好搭建,从网上下载wamp或xampp,一步步安装就ok,然后再把写好的页面放在服务器中指定的位置。打开时,在浏览器地址栏输入“localhost/指定页面”或者“127.0.0.1/指定页面”打开。

      下面列出demo的HTML、PHP、原生ajax 、jq ajax代码。

      HTML代码:

    <!doctype html>
    <html>
    <head>
        <title>ajax示例</title>
        <meta charset='utf-8' />
        <link rel="stylesheet" type="text/css" href="css/common.css" />
        <style type="text/css">
            .main{height:400px;width:800px;margin:100px auto 0;border:1px solid #000;}
            .list{height:400px;width:200px;float:left;background:#ddd;}
            .inf{height:400px;width:600px;float:right;background:#ccc;text-align:center;}
    
            .list li{width:200px;text-align:center;margin:50px 0 0;font-size:24px;cursor: pointer;
            }
            .inf img{width:360px;height:270px;margin:15px auto;}
            .inf p{width:580px;text-align:left;text-indent:2em;font-size:14px;margin:0 10px;}
        </style>
    </head>
    
    <body>
        <div class='main'>
            <div class='list' id='list'>
                <ul>
                    <li name='spring' id='spring'></li>
                    <li name='summer' id='summer'></li>
                    <li name='fall' id='fall'></li>
                    <li name='winter' id='winter'></li>
                </ul>
            </div>
            <div class='inf' id='inf'>
            <!--要插入的内容-->
            </div>
        </div>
    </body>
    <script type="text/javascript" charset="utf-8" src="js/jQuery.js"></script>
    </html>

      PHP代码:

    <?php
    
    $details = array (
        'spring'    =>    "<img src='images/spring.jpg' alt='' /><p>人间四月芳菲尽,山寺桃花始盛开</p>",
        'summer'    =>    "<img src='images/summer.jpg' alt='' /><p>水晶帘动微风起,满架蔷薇一院香</p>",
        'fall'    =>    "<img src='images/fall.jpg' alt='' /><p>金井梧桐秋叶黄,珠帘不卷夜来霜</p>",
        'winter'        =>    "<img src='images/winter.jpg' alt='' /><p>梅须逊雪三分白,雪却输梅一段香</p>"
    );
    
    echo $details[$_REQUEST['LiName']];
    
    ?>

      原生ajax:

    <script type="text/javascript">
        var lis = document.getElementById('list').getElementsByTagName('li');
        window.onload = initPage;
        function initPage() {
            for (var i=0; i<lis.length; i++) {
                txt = lis[i];
                txt.onclick = function () {
                    getDetails(this.id);
                }
            }
        }
        function creatRequest() {
            try {
                request = new XMLHttpRequest();
            }
            catch (tryMS) {
                try {
                    request = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (otherMS) {
                    try {
                        request = new ActiveXObject("Miscrosoft.XMLHTTP");
                    }
                    catch (failed) {
                        request = null;
                    }
                }
            }
            return request;
        }
        function getDetails(itemName) {
            request = creatRequest();
            if (request == null) {
                alert('没有成功创建请求')
                return;
            }
            var url = "getDetails.php?LiName="+escape(itemName);
            request.open("GET",url,true);
            request.onreadystatechange = displayDetails;
            request.send(null);
        }
        
        function displayDetails() {
            if (request.readyState == 4) {
            if (request.status == 200) {
                detailDiv = document.getElementById("inf");
                detailDiv.innerHTML = request.responseText;
            }
          }
        }   
    </script>

      JQ ajax:

    <script type="text/javascript">
    $('#list li').click ( function () {                       
            $.ajax({                           
                type:'GET',                            
                data:'',                           
                url:"getDetails.php?LiName="+this.id,                           
                success:function(data){                                
                    $('#inf').html(data);                                
                },
                dataType:'text',
                error:function (){                
                    alert("失败!");            
                }
            })                    
        });
    </script>
    【作者】:@挨踢前端
    【出处】:http://www.cnblogs.com/duanhuajian/
    【声明】:所有博文标题后加(share)的表示收集的他人优秀文章,其余的则为原创。欢迎转载,但请在显要位置显示本文链接,并保留本段声明,否则追究法律责任,谢谢!
  • 相关阅读:
    用instr 直接取最右端的点的位置:
    ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符
    Ubuntu 16.04系统下安装RapidSVN版本控制器及配置diff,editor,merge和exploer工具
    Ubuntu 16.04系统下开机提示“无法应用原保存的显示器配置”
    Ubuntu 16.04系统下出现E: 无法下载 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found
    Ubuntu 16.04系统下软件中心Software闪退解决办法
    UEditor富文本WEB编辑器自定义默认值设置方法
    HTML5 移动页面自适应手机屏幕四类方法
    Ubuntu 16.04系统下apt-get和dpkg区别
    jQuery相同id元素 全部获取问题解决办法
  • 原文地址:https://www.cnblogs.com/duanhuajian/p/2731840.html
Copyright © 2011-2022 走看看