js jquery ajax的几种用法总结(及优缺点介绍)


Posted in Javascript onJanuary 28, 2014

这篇文章,是我不知道什么是ajax到熟练运用ajax的一个历程。

一,最原始的方式来运用ajax

<SCRIPT language=javascript>
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
//定义了一个ajax的入口函数,供用view层用户调用
function show_type(type_id) {
// alert(id);
createXMLHttpRequest();
var url = "../ajax/shop_type_status.php?id="+type_id+"&time="+Math.random();
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = function(){ show_back();}
xmlHttp.send(null);
}
//回调函数,将从调用的php文件中取得的数据,反还给用户
function show_back() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
//document.getElementById('cat_id').value = id;
document.getElementById('type_status').innerHTML = xmlHttp.responseText;
}
}
}
</SCRIPT>

个人分析:这种方法挺好的,简单灵活,但是有一点不好,就是冗余代码比较多,不利于后期维护。

二,js端封装的ajaxrequest

这个东西,对于习惯了用javascript的人来说,是一个不错的选择,它是装上面所说的那种方法简单的封装了一下,做了统一的调用。感觉不错,代码挺多的就不贴出来了,大家可以到google搜ajaxrequest。

//ajaxrequest.js里面有一个这个方法这个方法是供view端调用的接口,接口可以有多个,根据情况自己加

function ajax_action_fun(url,fun) {
var ajax=new AJAXRequest;
ajax.get(
url,
function(obj){alert(obj.responseText);fun()}
);
}
//html里面调用这个接口
get_shop_son_list   //是回调后执行的方法名
ajax_action_fun("../ajax/shop_ajax.php?type=1",get_shop_list);
function get_shop_list(resValue){
//这里就是你要的操作
}

个人分析:它弥补了第一种方法的不足,统一调用接口,可以设置回调函数,缺点如果有的话,不在ajaxrequest本身而在于javascript,举个例子吧

javascript:如果我想调用ajax_action_fun这个方法我要在html里加个东西

<a class="showshop" href='javascript:' onclick=ajax_action_fun("../ajax/shop_ajax.php?type=1",get_shop_list);>显示店</a>

jquery:用它可以尽量把js和html分开,这对于后期维护是很帮助的,会节省很多时间,例如,全站换html;

$(".showshop").bind("click", {url: "../ajax/shop_ajax.php?type=1",function:get_shop_list}, ajax_action_fun);
这样就可以不用在html里面写onclick事件了

三,jquery的ajax
1)

$.ajax({
   type: "POST",
   url: "test.php",           //调用的php文件
   data: "name=zhang",
   success: function(msg){            //回调函数
     alert( "Data Saved: " + msg );       //这里是操作
   }
 });

2)
//调用test.php文件,传个参数,data是返回的数据
$.post("test.php", { name: "zhang"},
   function(data){
     alert("Data Loaded: " + data);
   });
Javascript 相关文章推荐
Uglifyjs(JS代码优化工具)入门 安装使用
Apr 13 Javascript
Bootstrap实现弹性搜索框
Jul 11 Javascript
js实现时间轴自动排列效果
Mar 09 Javascript
angularjs中使用ng-bind-html和ng-include的实例
Apr 28 Javascript
详解vue项目首页加载速度优化
Oct 18 Javascript
利用HBuilder打包前端开发webapp为apk的方法
Nov 13 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
Aug 31 Javascript
微信小程序如何获取地址
Dec 24 Javascript
JS代码检查工具ESLint介绍与使用方法
Feb 04 Javascript
react 原生实现头像滚动播放的示例
Apr 21 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
Jul 31 Javascript
谈谈JavaScript中的函数
Sep 08 Javascript
js中哈希表的几种用法总结
Jan 28 #Javascript
js日期对象兼容性的处理方法
Jan 28 #Javascript
JS cookie中文乱码解决方法
Jan 28 #Javascript
JS正则表达式验证数字代码
Jan 28 #Javascript
js的隐含参数(arguments,callee,caller)使用方法
Jan 28 #Javascript
js中arguments,caller,callee,apply的用法小结
Jan 28 #Javascript
setInterval与clearInterval的使用示例代码
Jan 28 #Javascript
You might like
PHP新手入门学习方法
2011/05/08 PHP
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
js 实现 input type=&quot;file&quot; 文件上传示例代码
2013/08/07 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
Vue.js用法详解
2017/11/13 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
极简的Python入门指引
2015/04/01 Python
django允许外部访问的实例讲解
2018/05/14 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
html5 标签
2009/07/16 HTML / CSS
Html5自定义字体解决方法
2019/10/09 HTML / CSS
抽象类和接口的区别
2012/09/19 面试题
幼师自我鉴定范文
2013/10/01 职场文书
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
写好自荐信的几个要点
2013/12/26 职场文书
小区消防演习方案
2014/02/21 职场文书
爱之链教学反思
2014/04/30 职场文书
给校长的建议书100字
2014/05/16 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
加强作风建设心得体会
2014/10/22 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript
Android自定义ScrollView实现阻尼回弹
2022/04/01 Java/Android