让回调函数 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中的end()使用方法
Jul 10 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
Nov 13 Javascript
自动刷新网页,自动刷新当前页面,JS调用
Jun 24 Javascript
jQuery实现文本框邮箱输入自动补全效果
Nov 17 Javascript
第九章之路径分页标签与徽章组件
Apr 25 Javascript
JS实现图片垂直居中显示小结
Dec 13 Javascript
详解AngularJS跨页面传值(ui-router)
Aug 23 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
Sep 07 jQuery
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
Dec 23 Javascript
详解ECMAScript typeof用法
Jul 25 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
Nov 05 Javascript
JavaScript实现显示和隐藏图片
Apr 29 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
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
详解React 元素渲染
2020/07/07 Javascript
王纯业的Python学习笔记 下载
2007/02/10 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
python实现计算器功能
2019/10/31 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
Python的collections模块真的很好用
2021/03/01 Python
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
医药专业应届毕业生求职信范文
2014/01/01 职场文书
岗位职责怎么写
2014/03/14 职场文书
班委竞选演讲稿
2014/04/28 职场文书
节能宣传周活动总结
2014/05/08 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
小学副班长竞选稿
2015/11/21 职场文书
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python