`
zhangliang25m
  • 浏览: 1495 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[prototype]向回调函数追加参数怎么不对?

阅读更多
function a(ID){
    new Ajax.Request("xx.xx", {onComplete:getFunc(ID)});
    function getFunc(ID){
        return function(){
            b.curry(ID);
        }
    }
}
function b(Data_ID, response){
new Insertion.After(Data_ID, response.responseText)
}
我向回调函数追加参数怎么不对?
我不知道我对curry的理解是否正确。。。
分享到:
评论
5 楼 hax 2008-04-14  
curry的意思是逐个填充参数。
比如你有一个函数f(a,b,c),
f 如果被curry了之后,就允许
f1 = f(a) 然后 f1(b, c)
也可以 f2 = f1(b) 然后 f2(c)
4 楼 冯冀川 2008-04-13  
我感觉最简单的追加方式:

var testAjax = Class.create({
  initialize: function() {
  },
  ajax: function(pars) {
    var GData_ID = pars;
    var that = this;
    new Ajax.Request("../AjaxMethod.aspx", {
      method: "get",
      onComplete: that.getFunc.bind(that, GData_ID),
      parameters: "MethodName=Show_maga_BundelDetail_Tr&PKID=" + GData_ID
    });
  },
  getFunc: function(GData_ID, response) {
    alert(GData_ID);
  }
});
var test = new testAjax();

在prototype.js-1.6里面curry的实现和bind基本类似
3 楼 faichan 2008-03-04  
zhangliang25m 写道
我忘记了Ajax还有缓存一说,所以每次都不刷新,这个问题浪费了我半天。。。,我一直以为是我的curry理解有错误,所以看问题要多方面考虑。。 


curry是什么函数?
可以给它的语法我吗
2 楼 zhangliang25m 2008-02-03  
我忘记了Ajax还有缓存一说,所以每次都不刷新,这个问题浪费了我半天。。。,我一直以为是我的curry理解有错误,所以看问题要多方面考虑。。 

1 楼 zhangliang25m 2008-02-03  
这个问题我解决了
在1.6版本:
function Lookmaga_BundelDetail(ID){
DeleteTr();
GData_ID = String.interpret(ID);
new Ajax.Request("../AjaxMethod.aspx", {
method: "get",
onComplete: Show_maga_BundelDetail_Tr.curry(GData_ID),
parameters: "MethodName=Show_maga_BundelDetail_Tr&PKID=" + GData_ID+ "&t="+new Date().getTime()
});
}
在1.6以前:

function Lookmaga_BundelDetail(ID){
GData_ID = String.interpret(ID);
new Ajax.Request("../AjaxMethod.aspx", {
method: "get",
onComplete: getFunc(GData_ID),
parameters: "MethodName=Show_maga_BundelDetail_Tr&PKID=" + GData_ID
});
function getFunc(id){
return function(req){
new Insertion.After(id,req.responseText);
}
}
}

相关推荐

    jquery AJAX 回调函数取JSON成功代码

    `success`函数是回调函数,当AJAX请求成功且服务器返回数据后,这个函数会被调用。在这里,我们打印出接收到的数据,并遍历JSON对象,将其内容添加到一个ID为'output'的元素中。如果请求过程中发生错误,`error`函数...

    javascript回调函数的概念理解与用法分析

    3. 遍历和排序:在数组操作中,`Array.prototype.forEach` 和 `Array.prototype.sort` 方法接受一个回调函数,用于对每个元素进行处理或进行比较。 4. 定时器:`setTimeout` 和 `setInterval` 函数也使用回调函数来...

    prototype的Ajax介绍

    ### Prototype的Ajax介绍 #### 一、Prototype框架...不仅能够处理基本的Ajax请求,还能通过丰富的回调机制和灵活的参数配置来满足多样化的业务需求。此外,框架的安全性和跨浏览器兼容性也为开发者带来了极大的便利。

    在vue中使用回调函数,this调用无效的解决

    当我们在一个函数内部(比如`updateStudentInfoToServer`)使用`this`调用其他方法或访问数据属性时,如果这个函数被作为回调传递给另一个函数(例如`updateStudentInfoToServer`的第二个和第三个参数),...

    简单的回调demo

    - 排序、过滤和映射等数组操作:JavaScript中的`Array.prototype.sort()`、`filter()`、`map()`等方法都接受回调函数作为参数。 3. 回调的优点: - 提高灵活性:允许程序员定义自己的处理逻辑,而不需要修改被...

    javascript回调函数详解

    一个回调函数的典型例子是 Array.prototype.myEvery 方法,它模仿数组的 every 方法。通过向 myEvery 方法传递一个回调函数,可以检查数组中的每个元素是否满足某个条件。这里的回调函数是由 myEvery 方法的调用者...

    JS中的回调函数实例浅析

    JavaScript中的回调函数是一种重要的编程概念,它涉及到函数作为其他函数的参数传递,以便在特定条件满足时执行。回调函数在JavaScript中的应用广泛,特别是在处理异步操作时,它扮演着核心角色。 首先,让我们深入...

    对js中回调函数的一些看法

    在JavaScript中,回调函数是一种常见的编程模式,它允许我们将一个函数作为参数传递给另一个函数,并在特定条件满足时由那个函数执行。这种模式在异步编程、事件处理和函数式编程中非常常见。本文将深入探讨...

    js中回调函数的学习笔记

    在JavaScript中,**回调函数**(Callback Function)是一种非常重要的编程模式,它是指一个作为参数传递给另一个函数的函数,并且在适当的时机被调用执行。这种模式允许我们编写出灵活、可扩展并且易于维护的代码。 #...

    FunctionInject:注入任何函数以执行自定义脚本,获取参数和结果,取消函数执行,注入回调函数以更改参数值

    您可以更改函数(和回调函数)的参数和结果。 您可以取消函数执行。 ##Sample 定义一个名为 setFullName 的函数,获取一个 fullName 参数,打印它,用作回调的参数并返回它。 var funcInject = require ( "./script...

    Prototype详解

    在这里,`Ajax.Request`函数接受目标URL、请求方法、参数以及回调函数作为参数。当请求成功时,`onSuccess`回调函数将被调用,可以在此处理服务器返回的数据;而`onFailure`则在请求失败时执行。 通过以上解析,...

    Prototype1.5.1使用手册

    1.Ajax.Request:创建并发送Ajax请求,可以自定义HTTP方法、URL、参数及各种回调函数。 2.Ajax.Updater:更新页面的部分内容,常用于局部刷新。 3.Ajax.PeriodicalUpdater:定时发送Ajax请求,用于实现数据的实时...

    prototype中文帮助文档

    例如,`new Ajax.Request(url, options)`可以发起一个Ajax请求,`options`参数可以定制请求的细节,如回调函数、数据类型等。 除此之外,Prototype.js 还支持类(Class)和模块(Module)的概念,通过`Class.create...

    prototype1.4

    - `Ajax.Options`用于配置请求的细节,如URL、方法、数据、回调函数等。 5. **数组和字符串扩展** - Prototype 1.4扩展了数组和字符串的方法,如`Array.prototype.each()`, `Array.prototype.indexOf()`, `String...

    18_Promise使用详解(1)1

    Executor 是在创建 Promise 时需要传入的一个回调函数,这个回调函数会被立即执行,并且传入两个参数:resolve 和 reject。 resolve 函数可以兑现(fulfilled)Promise 的状态,我们也可以称之为已决议(resolved...

    prototype帮助中文文档

    同时,还可以自定义回调函数以处理请求的各个阶段,如 `onSuccess` 和 `onFailure`。 4. **Prototype.js 版本** 题目中提到的是 Prototype 1.5 版本,这是较早期的一个版本。在这一版本中,开发者可以找到诸如 `...

    prototype笔记(9)----结合Prototype和JSON开发AJAX

    它接受两个参数:URL和选项对象,可以设置请求的类型(GET或POST)、回调函数、数据格式等。 2. **JSON与Ajax的结合**: JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在...

    让回调函数 showResponse 也带上参数的代码

    `onComplete`选项指定了当请求完成后调用的回调函数`showResponse`。然而,`showResponse`函数没有直接接收任何自定义参数,这限制了其灵活性,尤其是在需要根据不同的上下文处理响应数据时。 为了使`showResponse`...

    prototype-ajax例子

    这些请求会携带HTTP方法(GET或POST)、URL以及回调函数,以便在服务器响应后执行特定的操作。 `Ajax.Request`的典型用法如下: ```javascript new Ajax.Request('AjaxServlet', { method: 'post', parameters: ...

    prototype.js手册

    prototype.js是什么? 万一你没有使用过... 相关文章 Advanced JavaScript guide. 一些实用的函数 这个类库带有很多预定义的对象和实用函数,这些东东的目的显然是把你从一些重复的打字中解放出来 。

Global site tag (gtag.js) - Google Analytics