让回调函数 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中的变量使用说明
May 18 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
Jun 14 Javascript
Javascript图像处理思路及实现代码
Dec 25 Javascript
js控制web打印(局部打印)方法整理
May 29 Javascript
跟我学习javascript创建对象(类)的8种方法
Nov 20 Javascript
使用JavaScript实现点击循环切换图片效果
Sep 03 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
Sep 13 Javascript
详解Vue中一种简易路由传参办法
Sep 15 Javascript
ECMAScript6变量的解构赋值实例详解
Sep 19 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
Apr 22 Javascript
js中数组常用方法总结(推荐)
Apr 09 Javascript
vue axios重复点击取消上一次请求封装的方法
Jun 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
详解微信UnionID作用
2019/05/15 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
pytorch实现MNIST手写体识别
2020/02/14 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
财务助理岗位职责
2013/11/10 职场文书
电子商务专业学生的自我鉴定
2013/11/28 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
婚礼新人答谢词
2015/01/04 职场文书
实习单位鉴定意见
2015/06/04 职场文书
安全教育主题班会总结
2015/08/14 职场文书
《花钟》教学反思
2016/02/17 职场文书
导游词之山东红叶谷
2019/10/31 职场文书
Python编写nmap扫描工具
2021/07/21 Python
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL