怎样在外部函数里面调用ajax加载的数据?

发布于 2022-09-04 00:27:24 字数 2582 浏览 13 评论 0

在一个ajax函数里要访问另一个ajax创建的标签的属性值,请问实用什么方法?补充代码如下,
最后是要获取dl里面各个dd标签属性min-id 的值。

    wzBrand.creatOrder = function() {
            //获取商标细则数据
            $.ajax({
                type: 'get',
                url: URL,
                data: {},
                dataType: 'json',
                success: function(data) {
                    var recvdata = $.parseJSON(data); //get 2类

                    $.each(recvdata, function() {
                        var getChildData = this.TinyList; //拿到当前二级的子菜单;
                        $.each(getChildData, function() {
                            strDdText += "<dd class='hook'  max-id='" + maxID + "'  mid-id='" + midID + "' min-id='" + minID + "'  >" + minID + minName + "</dd>";
                        });
                        var temp = "<dl><dt>" + this.midtypeid + this.midtypename + "</dt> " + strDdText + "</dl>";
                        $('#child-body').append(temp); //填充二级栏数据
                    });
                }
            })
        }

        wzBrand.initRst = function() {
            //模拟数据
            var rst = {
                IDList: {
                    //请无视这么恶心的命名
                    "bigid": "12",
                    "bigname": "运输工具",
                    "child": [{
                        "midid": "1204",
                        "midname": "自行车、三轮车及其零部件(不包括轮胎)",
                        "child": [{
                            "tinyid": "120046",
                            "tinyname": "自行车撑脚架"
                        }]
                    }]
                }
            }

            $.ajax({
                type: 'get',
                url: URL,
                data: {},
                dataType: 'json',
                success: function(data) {
                    $.each($(rst.IDList), function() {
                        var childList = this.child;
                        $.each(childList, function() {
                            var childItem = this.child;
                            $.each(childItem, function() {
                                var thisID = this.tinyid;
                                var thatID = $('#child-body').find('dd').attr('min-id');
                                if (thisID === thatID) { // *** thatID is undefined***
                                    console.log(thatID);
                                    debugger;
                                }
                            })
                        })
                    })
                }
            })
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

似梦非梦 2022-09-11 00:27:24
$.get("url1",data,function(re){
  if(re=="success"){
  $("body").attr("name","lucy");
  getattr();//在这个ajax请求完成后,调用另一个ajax的请求,
}
})

//这个将被ajax调用的ajax请求,请用函数包装起来。
function getattr(){
$.get("url2",data,function(re){
  var name=$("body").attr("name");
if(name==re.name){
  alert("hi");
}
})
}

好像楼主觉得我写得不够明白,我补充解释一下。

无言温柔 2022-09-11 00:27:24

传回调到另一个 Ajax 中。

(如果两个 Ajax 在逻辑上有顺序关系的话 -- 比如前一个 Ajax 创建标签,后一个 Ajax 对这个标签的属性值进行操作)

昔梦 2022-09-11 00:27:24

在第一个Ajax请求成功并完成DOM渲染后在另一个Ajax中获取DOM的属性值

稍尽春風 2022-09-11 00:27:24

把响应信息传递给一个全局变量,然后就可以用了吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文