原生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 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
网页自动跳转代码收集
Sep 27 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
Jan 08 Javascript
javascript操纵OGNL标签示例代码
Jun 16 Javascript
jQuery对指定元素中指定字符串进行替换的方法
Mar 17 Javascript
极力推荐10个短小实用的JavaScript代码段
Aug 03 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
Feb 08 Javascript
JS实现汉字与Unicode码相互转换的方法详解
Apr 28 Javascript
实例详解JSON取值(key是中文或者数字)方式
Aug 24 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
Nov 01 Javascript
JS FormData对象使用方法实例详解
Feb 12 Javascript
js实现带箭头的进度流程
Mar 26 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设计模式 Observer(观察者模式)
2011/06/26 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
短信提示使用 特效
2007/01/19 Javascript
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
Python函数中的函数(闭包)用法实例
2016/03/15 Python
Python中修改字符串的四种方法
2018/11/02 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
分厂厂长岗位职责
2013/12/29 职场文书
高中生的自我评价
2014/03/04 职场文书
投标担保书范文
2014/04/02 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
品质标语大全
2014/06/21 职场文书
项目投资合作意向书
2014/07/29 职场文书
美术教师个人总结
2015/02/06 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python