让回调函数 showResponse 也带上参数的代码


Posted in Javascript onAugust 13, 2007

function demo(){
var url="ajaxdemo.asp";
var paras = "" ;
var myAjax = new Ajax.Request(
url,
{
method: 'post',
parameters: paras,
onComplete: showResponse
});
}
function showResponse(originalRequest){
var html = originalRequest.responseText;
alert(html);
}

这是应用 prototype.js 后最常看见的ajax代码,由于 showResponse 不能直接带参数,在处理回调函数时有时候比较麻烦,比如要把返回的html值动态插入到某个元素里面去。今天终于想到了一种方法来解决这个问题:

function demo(){
var url="ajaxdemo.asp";
var paras = "" ;
var myAjax = new Ajax.Request(
url,
{
method: 'post',
parameters: paras,
onComplete: function(originalRequest){showResponse(originalRequest,elemID)}
});
}
function showResponse(originalRequest,elemID){
var html = originalRequest.responseText;
$(elemID).innerHTML = html;
}

匿名函数这时充当了回调函数,而showResponse则变成一个普通方法了。变换了概念,问题就顺利解决。
解决了这个问题,还可以把这两个函数封装为一个函数:

function demo(url,paras,updateElemID){
var myAjax = new Ajax.Request(
url,
{
method: 'post',
parameters: paras,
onComplete: function(originalRequest){showResponse(originalRequest,updateElemID)}
});
}
function showResponse(originalRequest,elemID){
var html = originalRequest.responseText;
$(elemID).innerHTML = html;
}

只需要调用 demo(url,paras,updateElemID) 就能完成ajax的功能。爽。如果参数再扩展一下,增加一些动作函数,就不止是update某个元素的innerHTML这么简单了。

Javascript 相关文章推荐
jqgrid 简单学习笔记
May 03 Javascript
jQuery的ready方法详解
Nov 27 Javascript
javascript限制文本框输入值类型的方法
May 07 Javascript
JavaScript中的acos()方法使用详解
Jun 14 Javascript
浅谈jQuery.easyui的datebox格式化时间
Jun 25 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
Oct 01 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
May 19 Javascript
jQuery Mobile 触摸事件实例
Jun 04 Javascript
详解使用vue-admin-template的优化历程
May 20 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
Oct 23 Javascript
微信小程序实现签到功能
Oct 31 Javascript
分析 JavaScript 中令人困惑的变量赋值
Aug 13 #Javascript
IE/FireFox具备兼容性的拖动代码
Aug 13 #Javascript
JavaScript 编程引入命名空间的方法与代码
Aug 13 #Javascript
权威JavaScript 中的内存泄露模式
Aug 13 #Javascript
封装好的省市地区联动控件附下载
Aug 13 #Javascript
分享别人写的一个小型js框架
Aug 13 #Javascript
javascript下查找父节点的简单方法
Aug 13 #Javascript
You might like
PHP Pear 安装及使用
2009/03/19 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
PHP中创建和验证哈希的简单方法实探
2015/07/06 PHP
让焦点自动跳转
2006/07/01 Javascript
js常用排序实现代码
2010/12/28 Javascript
JQuery实现倒计时按钮的实现代码
2012/03/23 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
2017/08/14 jQuery
Vue的MVVM实现方法
2017/08/16 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
Python入门篇之条件、循环
2014/10/17 Python
你应该知道的python列表去重方法
2017/01/17 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
高一物理教学反思
2014/01/24 职场文书
元旦获奖感言
2014/03/08 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
电子商务专业求职信
2014/07/10 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
创先争优承诺书
2015/01/20 职场文书
总经理司机岗位职责
2015/04/10 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS