原生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 相关文章推荐
javascript通过className来获取元素的简单示例代码
Jan 10 Javascript
jQuery中Dom的基本操作小结
Jan 23 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
Aug 21 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
Jul 01 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
Oct 14 Javascript
详解Vue.js入门环境搭建
Mar 17 Javascript
使用Require.js封装原生js轮播图的实现代码
Jun 15 Javascript
浅谈angular.js跨域post解决方案
Aug 30 Javascript
JS实现页面内跳转的简单代码
Sep 03 Javascript
vue-cli如何引入bootstrap工具的方法
Oct 19 Javascript
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
使用Vant完成DatetimePicker 日期的选择器操作
Nov 12 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
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
2017/03/05 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
Vue的data、computed、watch源码浅谈
2020/04/04 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
Flask框架配置与调试操作示例
2018/07/23 Python
浅谈flask源码之请求过程
2018/07/26 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
药学专业个人的自我评价
2013/12/31 职场文书
记者岗位职责
2014/01/06 职场文书
班长演讲稿范文
2014/04/24 职场文书
班级标语大全
2014/06/21 职场文书
党员个人剖析材料
2014/09/30 职场文书
初中成绩单评语
2014/12/29 职场文书
校友回访母校寄语
2015/02/26 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
2016年第32个教师节致辞
2015/11/26 职场文书