让回调函数 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 相关文章推荐
JS:window.onload的使用介绍
Nov 13 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 Javascript
解析AngularJS中get请求URL出现的跨域问题
Dec 01 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
Dec 27 Javascript
Require.js的基本用法详解
Jul 03 Javascript
微信JSAPI Ticket接口签名详解
Jun 28 Javascript
JS处理一些简单计算题
Feb 24 Javascript
全面分析JavaScript 继承
May 30 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
Oct 31 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
Apr 27 Javascript
详解vue-router的Import异步加载模块问题的解决方案
May 13 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和ACCESS写聊天室(一)
2006/10/09 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
javascript eval和JSON之间的联系
2009/12/31 Javascript
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
什么是python类属性
2020/06/10 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
HR喜欢的自荐信格式
2013/10/08 职场文书
农贸市场管理制度
2014/01/31 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
python状态机transitions库详解
2021/06/02 Python
关于的python五子棋的算法
2022/05/02 Python