我想在ajax请求成功返回后设置一个eventhandler。 setup_chat()是设置eventhandler的东西,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 :(得分:0)
问题在于:
window.location.replace('games/start');
setup_chat(2);
这将加载一个全新的页面。将卸载当前页面上的所有JavaScript。 setup_chat(2)
电话无效。
为了“修复”此问题,您需要在加载新页面后调用此代码。你不能从你的ajax回调中做到这一点。
例如,在<body>
加载的页面上games/start
标记的底部:
<script>
setup_chat(2);
</script>
另一种选择是根本不加载新页面。
除此之外,我无法帮助你。在解决此问题之前,您可能需要了解有关Web开发的更多信息。