让回调函数 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的文件是什么文件
Dec 06 Javascript
JQuery中SetTimeOut传参问题探讨
May 10 Javascript
jquery 页面滚动到指定DIV实现代码
Sep 25 Javascript
详解JavaScript的回调函数
Nov 20 Javascript
在Docker快速部署Node.js应用的详细步骤
Sep 02 Javascript
Node.js实现兼容IE789的文件上传进度条
Sep 02 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
Sep 27 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
Dec 20 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
Nov 30 Javascript
jQuery操作cookie的示例代码
Jun 05 jQuery
如何在postman测试用例中实现断言过程解析
Jul 09 Javascript
js实现简易拖拽的示例
Oct 26 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中数组合并的两种方法及区别介绍
2012/09/14 PHP
php ImageMagick windows下安装教程
2015/01/26 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
jQuery实现复选框全选/取消全选/反选及获得选择的值
2014/06/12 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
口腔医学技术应届生求职信
2013/11/09 职场文书
行政部主管岗位职责
2013/12/28 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
现金出纳岗位职责
2014/03/15 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
表扬信范文
2015/05/04 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
小学班主任工作随笔
2015/08/15 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书