jQuery ajax成功回调函数定义

我想使用jQuery ajax从服务器检索数据。

我想将成功回调函数定义放在如下所示的代码.ajax()块之外。因此,是否需要dataFromServer像下面这样声明变量,以便能够使用成功回调中返回的数据?

我已经看到大多数人在.ajax()块内定义成功回调。如果我想在外部定义成功回调,那么以下代码正确吗?

var dataFromServer;  //declare the variable first

function getData() {

$.ajax({

url : 'example.com',

type: 'GET',

success : handleData(dataFromServer)

})

}

function handleData(data) {

alert(data);

//do some stuff

}

回答:

只需使用:

function getData() {

$.ajax({

url : 'example.com',

type: 'GET',

success : handleData

})

}

success属性仅需要引用一个函数,并将数据作为参数传递给该函数。

handleData由于handleData声明的方式,您可以像这样访问您的函数。JavaScript将在运行之前解析代码以进行函数声明,因此您可以在实际声明之前的代码中使用该函数。这称为hoisting.。

但是,这对于声明为这样的函数不起作用:

var myfunction = function(){}

这些仅在口译员通过时才可用。

以上是 jQuery ajax成功回调函数定义 的全部内容, 来源链接: utcz.com/qa/432253.html

回到顶部