原生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 相关文章推荐
JS getStyle获取最终样式函数代码
Apr 01 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 Javascript
jQuery插件开发全解析
Oct 10 Javascript
js中通过split函数分割字符串成数组小例子
Sep 21 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
jquery操作checkbox示例分享
Jul 21 Javascript
javascript实现tab切换的两个实例
Nov 05 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
May 09 Javascript
浅谈Javascript中的Label语句
Dec 14 Javascript
JavaScript实现经典排序算法之插入排序
Dec 28 Javascript
js实现单张图片平移切换效果
Oct 11 Javascript
使用taro开发微信小程序遇到的坑总结
Apr 08 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
ADODB类使用
2006/11/25 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
js停止输出代码
2008/07/20 Javascript
JavaScript关于select的相关操作说明
2010/01/13 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
详解基于angular-cli配置代理解决跨域请求问题
2017/07/05 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
开源一个微信小程序仪表盘组件过程解析
2019/07/30 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
JavaScript中的类型检查
2020/02/03 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
获取Django项目的全部url方法详解
2017/10/26 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
python中类的属性和方法介绍
2018/11/27 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
sklearn的predict_proba使用说明
2020/06/28 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
家长给孩子的评语
2014/01/30 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
财务工作失职检讨书
2014/11/21 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python