js对js加载拼接的html代码中元素添加ajax方法请求后台数据

$.ajax({
         url:'/findUrlById/',
         type:'POST',
         dataType:"json",
         data:Ddata,
         success:function(result){
             var url_list = result;
             if(url_list.length>0){
                 var wtboy = "";
                 var btboy = "";
                 var w = 0;
                 var b = 0;
                 for(var i = 0;i<url_list.length;i++){

                     if (url_list[i].utype ==1){
                        wtboy += "<tr>"
                            +"<td>"
                            +"<input type= 'hidden' id='locale_id' value='"+locale_id+"'/>"
                            +(w+1)
                            +"</td>"
                            +"<td class='col-sm-5'>"
                            +url_list[i].url
                            +"</td>"
                            +"<td>"
                            +url_list[i].title
                            +"</td>"
                            +"<td>"
                            +"<button class='btn btn-xs btn-danger' id='url_delete' onclick='delUrl("+url_list[i].id+")'>"
                            +"<i class='fa fa-times fa-lg'></i>删除</button>"
                            +"</td>"
                            +"</tr>"

                         w++;
                    }else{...}
第一个ajax请求

function delUrl(url_id){
        var r =  confirm('确定要删除此URL地址?');
        if(r) {
            var udata = {"url_id": url_id};
            $.ajax({
                url: '/delURL/',
                type: 'POST',
                async: false,
                data:udata,
                success: function (result) {
                    if (result == 'ok') {
                        layer.alert('删除成功!');
                    } else {
                        layer.alert('删除失败,请重试!');
                    }
                }
            })
        }
    }
第二个ajax请求

今天对JS拼接的代码中需要做一个onclick事件方法,用ajax提交到后台,目的就是在弹出框中拼接展示的列表进行删除操作,本来是很简单,就一股脑吧代码敲上去,但是测试的时候发现执行不了URL的方法,检查了一下后台方法和ajax方法,没有错误,但是仔细分析思路,发现ajax是默认异步提交数据,前面有一个ajax1去请求弹出框的表格数据,后面的ajax2去取ajax1请求到的数据的元素再进行提交,异步的情况下ajax1执行,但是服务器还未返回数据的时候,js会继续执行ajax2,但是ajax1还未返回数据,所以ajax2取不到数据,这样就导致我的ajax2取不到数据,执行错误,我试着把ajax2改为异步请求,问题解决,我猜想把ajax1改为同步请求也是可以的


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章