让回调函数 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实现的仿sohu博客更换页面风格(简单版)
Mar 22 Javascript
jquery maxlength使用说明
Sep 09 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
Apr 02 Javascript
javascript关于运动的各种问题经典总结
Apr 27 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
Jul 27 Javascript
JavaScript原生节点操作小结
Jan 17 Javascript
js实现符合国情的日期插件详解
Jan 19 Javascript
浅谈angular2 组件的生命周期钩子
Aug 12 Javascript
通过js动态创建标签,并设置属性方法
Feb 24 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
Jul 04 Javascript
js正则表达式校验指定字符串的方法
Jul 23 Javascript
vue.js中ref和$refs的使用及示例讲解
Aug 14 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
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
2016/11/15 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
学校司机岗位职责
2013/11/14 职场文书
关于礼仪的演讲稿
2014/01/04 职场文书
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
品牌服务方案
2014/06/03 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
党员作风建设自查报告
2014/10/23 职场文书
免职证明样本
2014/10/23 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
给老婆的保证书
2015/01/16 职场文书
公证书格式
2015/01/23 职场文书
网聊搭讪开场白
2015/05/28 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
LeetCode189轮转数组python示例
2022/08/05 Python