2017-10-04 33 views
0

我有以下ajax調用嵌套在另一個,但第一個運行後,沒有任何記錄到控制檯,同時它應該。問題在哪裏?嵌套AJAX調用成功函數不會運行

$.ajax({ 
    url: "https://ck:8081/get-username", 
    type: "get", 
    success: function (response) { 
     userName = response 
     $.ajax({ 
      url: "https://ck:8081/new-chatuser?username=" + userName, 
      type: "get", 
      success: function (response) { 
       console.log('response' + response) 
       $('onlineMembers').append(response) 
      } 
     }) 
    } 
}) 
+0

可能是你從來沒有成功的場景。嘗試添加一個'失敗'的情況下,並嘗試登錄。另外,嘗試爲'response'使用不同的變量名稱,因爲它們彼此嵌套。 – Panther

+0

據推測其中一個失敗。您需要進行一些基本的調試,因此,作爲第一步,請在瀏覽器的開發人員工具中檢查控制檯和網絡選項卡是否有錯誤以及非200響應代碼。 – ADyson

+0

'$('onlineMembers')'應該是'$('#onlineMembers')'或'$('。onlineMembers')' – ibubi

回答

0

有最有可能在您發送的請求的一個失敗remedie這一點,你需要處理的錯誤,如下面的代碼來描述:

$.ajax({ 
    url: 'https://ck:8081/get-username', 
    type: 'get', 
    success: function(response1) { 
     console.log(`First succeeded : ${response2.toString()}`); 
     $.ajax({ 
      url: 'https://ck:8081/new-chatuser?username=' + response1, 
      type: 'get', 
      success: function (response2) { 
       console.log(`Second succeeded : ${response2.toString()}`); 
       $('onlineMembers').append(response2); 
      }, 
      error: function(error) { 
       console.log(`Second failed : ${error.toString()}`); 
      } 
     }); 
    }, 
    error: function(error) { 
     console.log(`First failed : ${error.toString()}`); 
    } 
}); 

您可能希望改變$('onlineMembers'),因爲我不認爲你使用的選擇器是正確的。