原生Ajax 和jQuery Ajax的区别示例分析


Posted in Javascript onDecember 17, 2014

前言:这次介绍的是利用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>
Javascript 相关文章推荐
var与Javascript变量隐式声明
Sep 17 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
Mar 04 Javascript
实例详解JavaScript获取链接参数的方法
Jan 01 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
JavaScript代码里的判断小结
Aug 22 Javascript
canvas实现图片根据滑块放大缩小效果
Feb 24 Javascript
php输出全部gb2312编码内的汉字方法
Mar 04 Javascript
JS触摸与手势事件详解
May 09 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
剖析Angular Component的源码示例
Mar 23 Javascript
微信公众号生成新浪短网址的实现(快速生成)
Aug 18 Javascript
Vue项目中使用flow做类型检测的方法
Mar 18 Javascript
jQuery中;function($,undefined) 前面的分号的用处
Dec 17 #Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
Dec 17 #Javascript
javascript实现根据身份证号读取相关信息
Dec 17 #Javascript
node.js中的fs.appendFile方法使用说明
Dec 17 #Javascript
javascript操作数组详解
Dec 17 #Javascript
node.js中的fs.appendFileSync方法使用说明
Dec 17 #Javascript
javascript实现节点(div)名称编辑
Dec 17 #Javascript
You might like
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
php事务处理实例详解
2014/07/11 PHP
19个Android常用工具类汇总
2014/12/30 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
js仿360开机效果
2019/12/26 Javascript
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
Python Web服务器Tornado使用小结
2014/05/06 Python
进一步理解Python中的函数编程
2015/04/13 Python
Python logging模块用法示例
2018/08/28 Python
python如何实现数据的线性拟合
2019/07/19 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
毕业自我鉴定
2013/11/05 职场文书
计算机系毕业生推荐信
2013/11/06 职场文书
运动会领导邀请函
2014/01/10 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
大学生党员自我评价
2015/03/04 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
Python如何识别银行卡卡号?
2021/06/10 Python