成功:功能(数据);不使用命名函数

success: function(data); not working with named function

本文关键字:函数 功能 数据 成功      更新时间:2023-11-23

我目前使用一个用于jquery ajax成功响应的匿名函数。

success: function(data){
  code
},

尝试使用命名函数时:

success: success(data),

它声称变量数据未设置。我想我可以做

success: function(data){
  success(data)
},

但这感觉并不是应该做的。为什么它会这样做?我该怎么办?

这是因为JQuery需要对函数的引用,而不是函数调用

JQuery需要知道要调用什么函数。使用success(data),您将传递函数调用success(data)结果(可以是任意结果,也可以是void-no result),而根本不知道该做什么。

引用是指向对象的东西,在本例中是"函数对象"。函数调用可以被认为是要执行的操作,它给出或不给出作为表达式计算的结果。

只需使用:

success: success

您只需要传递引用。你这样做,只需输入名称即可购买,就像一样

success: success

到目前为止,您所做的是通过键入括号来执行函数success,并分配该函数的返回值。

success属性接受类型为function的对象。function(data) { }返回一个函数。success(data)调用函数并返回它返回的任何内容。如果你的函数被称为success,你只需要做:

success: success,