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改爲同步請求也是可以的


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