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)的表示收集的他人优秀文章,其余的则为原创。欢迎转载,但请在显要位置显示本文链接,并保留本段声明,否则追究法律责任,谢谢!
  • 相关阅读:
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    SVN分支
    SVN分支
    SVN 版本回退
    SVN 版本回退
    如何在excel中取消合并单元格后内容自动填充?
    如何在excel中取消合并单元格后内容自动填充?
    如何让自己像打王者荣耀一样发了疯、拼了命的学习?
  • 原文地址:https://www.cnblogs.com/duanhuajian/p/2731840.html
Copyright © 2011-2022 走看看