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