原生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 相关文章推荐
jQuery 浮动广告实现代码
Dec 25 Javascript
jQuery 全选效果实现代码
Mar 23 Javascript
JQuery 获得绝对,相对位置的坐标方法
Feb 09 Javascript
javascript数组去掉重复
May 12 Javascript
jQuery function的正确书写方法
Aug 02 Javascript
jquery显示隐藏input对象
Jul 21 Javascript
如何防止INPUT按回车自动提交表单FORM
Dec 06 Javascript
Bootstrap整体框架之JavaScript插件架构
Dec 15 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 jQuery
vue配置请求本地json数据的方法
Apr 11 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 Javascript
原生js实现弹窗消息动画
Nov 20 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小技巧之过滤ascii控制字符
2014/05/14 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
2011/06/08 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
prototype框架中美元符号$用法分析
2016/01/22 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
JavaScript原生数组Array常用方法
2017/04/06 Javascript
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
js实现简易ATM功能
2020/10/27 Javascript
python实现代理服务功能实例
2013/11/15 Python
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
Python监控主机是否存活并以邮件报警
2015/09/22 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
2020/01/02 Python
python怎么自定义捕获错误
2020/06/29 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
员工自我鉴定范文
2013/10/06 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
活动宣传策划方案
2014/05/23 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
优秀团员自我评价
2015/03/10 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技