让回调函数 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 相关文章推荐
JavaScript中函数声明优先于变量声明的实例分析
Mar 01 Javascript
event.currentTarget与event.target的区别介绍
Dec 31 Javascript
js获得网页背景色和字体色的方法
Mar 21 Javascript
JavaScript中字符串分割函数split用法实例
Apr 07 Javascript
详解JavaScript中的构造器Constructor模式
Jan 14 Javascript
JavaScript中Math对象的方法介绍
Jan 05 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
Mar 28 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
Aug 16 Javascript
浅谈在Vue.js中如何实现时间转换指令
Jan 06 Javascript
200行HTML+JavaScript实现年会抽奖程序
Jan 22 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
Nov 05 Javascript
JavaScript 实现继承的几种方式
Feb 19 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
基于HTTP长连接的"服务器推"技术的php 简易聊天室
2009/10/31 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
js的hasownproperty使用示例
2014/03/02 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
简单实现python爬虫功能
2015/12/31 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
Delphi笔试题
2016/11/14 面试题
分厂厂长岗位职责
2013/12/29 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
最新优秀教师个人先进事迹材料
2014/05/06 职场文书
树转促学习心得体会
2014/09/10 职场文书
2014幼儿园教育教学工作总结
2014/12/17 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书