打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
让回调函数 showResponse 也带上参数

让回调函数 showResponse 也带上参数

程序代码

  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这么简单了。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
JavaScript 开发规范要求
Jquery鼠标右键点击弹出菜单
AngularJS学习笔记
javascript转换字符串为json对象的方法
JSON学习 - JavaScript - web - JavaEye论坛
两种简单实现菜单高亮显示的JS类
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服