2016-05-14 56 views
0

我想在ajax請求成功返回後設置事件處理程序。 setup_chat()是什麼設置事件處理程序,並且除非我將它稱爲回調函數,否則setup_chat()將正常工作。像這樣:在回調中設置事件處理程序

$('#create_game_btn').on('click', function(){ 
     $.ajax({ 
     url: 'games/new', 
     contentType: 'application/json; charset=utf-8', 
     type: 'GET', 
     dataType: 'text', 
     error: function (xhr, status) { 
      alert(status); 
     }, 
     success: function (result) { 
     alert("Callback done!"); 
     window.location.replace('games/start'); 
     setup_chat(2); 

    } 
}); 

}); 
+0

我想你是說這是有效的。你還可以添加什麼不起作用? – Chintan

+0

你立即打開一個新的頁面,遊戲/開始。然後嘗試在當前頁面上執行javascript。這是行不通的。 – panta82

+0

@ panta82它爲什麼不起作用?是否有像onLoad這樣的重定向功能。謝謝。 – Tannaa

回答

0

的問題是在這裏:

window.location.replace('games/start'); 
    setup_chat(2); 

這將加載一個全新的一頁。當前頁面上的所有javascript都將被卸載。 setup_chat(2)通話將不起作用。

爲了「解決」這個問題,您需要在加載新頁面後調用此代碼。你不能從你的ajax回調中做到這一點。

例如,在你的<body>標籤,從games/start加載頁面的底部:

<script> 
    setup_chat(2); 
</script> 

另一種選擇是完全不加載了新的一頁。

我幫不了你。在解決此問題之前,您可能需要了解有關Web開發的更多信息。

相關問題