原生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 相关文章推荐
客户端限制只能上传jpg格式图片的js代码
Dec 09 Javascript
jQuery实现点击该行即可删除HTML表格行
Oct 17 Javascript
Javascript基础教程之变量
Jan 18 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
Jun 26 Javascript
Html中 IFrame的用法及注意点
Dec 22 Javascript
利用Vue v-model实现一个自定义的表单组件
Apr 27 Javascript
详解vue.js2.0父组件点击触发子组件方法
May 10 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
Jun 25 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
Oct 12 Javascript
vue中添加与删除关键字搜索功能
Oct 12 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
Mar 09 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
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删除数组元素示例分享
2014/02/17 PHP
PHP引用(&amp;)各种使用方法实例详解
2014/03/20 PHP
PHP调试函数和日志记录函数分享
2015/01/31 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
Webpack的dll功能使用
2018/06/28 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
应届生如何写自荐信
2014/01/05 职场文书
视光学毕业生自荐书范文
2014/02/13 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
无犯罪记录证明
2014/09/19 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
投资入股合作协议书
2014/10/28 职场文书
《检阅》教学反思
2016/02/22 职场文书
导游词之太湖
2019/10/08 职场文书
Node.js实现断点续传
2021/06/23 Javascript
Java并发编程必备之Future机制
2021/06/30 Java/Android