原生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 相关文章推荐
利用谷歌地图API获取点与点的距离的js代码
Oct 11 Javascript
js控制frameSet示例
Sep 10 Javascript
jQuery选择器之基本选择器与层次选择器
Mar 03 Javascript
javascript计时器编写过程与实现方法
Feb 29 Javascript
AngularJS入门教程之Select(选择框)详解
Jul 27 Javascript
利用node.js搭建简单web服务器的方法教程
Feb 20 Javascript
Vue.js 插件开发详解
Mar 29 Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 Javascript
微信小程序页面滑动屏幕加载数据效果
Nov 16 Javascript
vue+iview 实现可编辑表格的示例代码
Oct 31 Javascript
js实现多个倒计时并行 js拼团倒计时
Feb 25 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
Jul 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安全编程之加密功能
2006/10/09 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
用php解析html的实现代码
2011/08/08 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
php使用指定字符列表生成随机字符串的方法
2015/04/18 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
jquery使用$(element).is()来判断获取的tagName
2014/08/24 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
基于jQuery实现弹幕APP
2017/02/10 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
Python中的自定义函数学习笔记
2014/09/23 Python
Python制作词云的方法
2018/01/03 Python
Python3处理HTTP请求的实例
2018/05/10 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
UGG英国官方网站:UGG UK
2018/02/08 全球购物
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
大学新生欢迎词
2014/01/10 职场文书
五分钟演讲稿
2014/04/30 职场文书
好学生评语大全
2014/05/05 职场文书
公司投资建议书
2014/05/16 职场文书
团日活动总结报告
2014/06/25 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
护理工作个人总结
2015/03/03 职场文书
企业承诺书格式范文
2015/04/28 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
如何有效防止sql注入的方法
2021/05/25 SQL Server