原生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 相关文章推荐
location.search在客户端获取Url参数的方法
Jun 08 Javascript
JavaScript学习笔记(一) js基本语法
Oct 25 Javascript
学习javascript面向对象 掌握创建对象的9种方式
Jan 04 Javascript
详解AngularJS过滤器的使用
Mar 11 Javascript
原生JS和jQuery版实现文件上传功能
Apr 18 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
Nov 18 Javascript
解决JS表单验证只有第一个IF起作用的问题
Dec 04 Javascript
Layui Table js 模拟选中checkbox的例子
Sep 03 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
Nov 21 Javascript
javascript自定义加载loading效果
Sep 15 Javascript
vue+iview实现分页及查询功能
Nov 17 Vue.js
vue实现两个区域滚动条同步滚动
Dec 13 Vue.js
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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
php 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
JavaScript forEach()遍历函数使用及介绍
2015/07/08 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
购物车前端开发(jQuery和bootstrap3)
2016/08/27 Javascript
如何编写jquery插件
2017/03/29 jQuery
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
微信小程序获取用户openid的实现
2018/12/24 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
python验证码识别教程之滑动验证码
2018/06/04 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
linux面试题参考答案(10)
2013/11/04 面试题
建筑工程技术应届生求职信
2013/11/17 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
大学感恩节活动总结
2015/05/05 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
python实现简单的井字棋
2021/05/26 Python
Python爬虫基础初探selenium
2021/05/31 Python
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS