栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在第一个和更新页面成功的情况下调用第二个jQuery.ajax实例

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在第一个和更新页面成功的情况下调用第二个jQuery.ajax实例

Ajax调用(默认情况下)是 异步的 。这意味着该代码:

$("#li_"+I).toggleClass("off on");element.toggleClass("off on");return false;

可以在其前面的ajax调用完成之前执行。对于刚接触Ajax和异步代码执行的程序员来说,这是一个普遍的问题。在ajax调用完成后,您要执行的所有操作都必须放入
回调中 ,例如您的

success
处理程序:

$.ajax({    type: "POST",    url: "_js/changetag.php",    data: info,    success: function(){        $("#li_"+I).toggleClass("off on");        element.toggleClass("off on");    }});

同样,您也可以在其中放置第二个ajax调用:

$.ajax({    type: "POST",    url: "_js/changetag.php",    data: info,    success: function(){        $("#li_"+I).toggleClass("off on");        element.toggleClass("off on");        $.ajax({ url: "_js/loaddeals_v2.php", success: function(results){     $('#listresults').empty();     $('#listresults').append(results); }        });    }});

使用jQuery 1.5的Deferred Object,您可以使它更加流畅。

function firstAjax() {    return $.ajax({        type: "POST",        url: "_js/changetag.php",        data: info,        success: function(){ $("#li_"+I).toggleClass("off on"); element.toggleClass("off on");        }    });}// you can simplify this second call and just use $.get()function secondAjax() {    return $.get("_js/loaddata.php", function(results){        $('#listresults').html(results);    });}// do the actual ajax callsfirstAjax().success(secondAjax);

这很不错,因为它可以使您取消嵌套回调-您可以编写异步执行的代码,但编写的方式类似于同步执行的代码。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427450.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号