让回调函数 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 相关文章推荐
jQuery 点击图片跳转上一张或下一张功能的实现代码
Mar 12 Javascript
写给想学习Javascript的朋友一点学习经验小结
Nov 23 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
Sep 28 Javascript
jquery select多选框的左右移动 具体实现代码
Jul 03 Javascript
svg动画之动态描边效果
Feb 22 Javascript
解决Vue页面固定滚动位置的处理办法
Jul 13 Javascript
从setTimeout看js函数执行过程
Dec 19 Javascript
Node 升级到最新稳定版的方法分享
May 17 Javascript
解决vue中虚拟dom,无法实时更新的问题
Sep 15 Javascript
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
Vue动态组件和异步组件原理详解
May 06 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 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
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
php网站地图生成类示例
2014/01/13 PHP
什么情况下可以不写PHP的闭合标签“?>”
2014/08/28 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
srcElement表格样式
2006/09/03 Javascript
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
javascript 动态加载 css 方法总结
2009/07/11 Javascript
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
python使用urllib2提交http post请求的方法
2015/05/26 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
Python端口扫描简单程序
2016/11/10 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
python 画函数曲线示例
2019/12/04 Python
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
学习新党章思想汇报
2014/01/09 职场文书
财务简历的自我评价
2014/03/05 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
个人原因辞职信模板
2015/05/13 职场文书
计算机教师工作总结
2015/08/13 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
假期读书倡议书3篇
2019/08/19 职场文书
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
Java中的继承、多态以及封装
2022/04/11 Java/Android
Java 异步任务计算FutureTask
2022/04/28 Java/Android