首页  >  文章  >  web前端  >  是否可以在外部定义 jQuery AJAX 成功回调函数?

是否可以在外部定义 jQuery AJAX 成功回调函数?

Barbara Streisand
Barbara Streisand原创
2024-10-18 19:27:03941浏览

Is It Possible to Define jQuery AJAX Success Callback Functions Externally?

为 jQuery AJAX 定义成功回调函数

使用 jQuery AJAX 从服务器检索数据时,开发人员通常在.ajax() 块。但是,是否可以在外部定义回调函数?

外部回调函数

提供的代码片段尝试在 .ajax() 之外定义成功回调函数block:

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
}

建议:使用延迟对象

虽然代码片段在技术上可能有效,但不再建议在 .ajax 之外定义成功回调() 堵塞。相反,使用延迟对象:

function getData() {
    return $.ajax({
        url : 'example.com',
        type: 'GET'
    });
}

function handleData(data /* , textStatus, jqXHR */ ) {
    alert(data);
    //do some stuff
}

getData().done(handleData);

延迟对象提供了几个优点:

  • 解耦:它们将回调处理与 AJAX 处理分开,从而更容易维护.
  • 多个回调:延迟对象支持添加多个成功和错误回调。
  • 同步:它们可以轻松同步多个异步事件,例如作为 AJAX 调用和计时器。

使用延迟对象可以提供更大的灵活性和对 AJAX 回调处理的控制,使其成为更强大和更现代的方法。

以上是是否可以在外部定义 jQuery AJAX 成功回调函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn