Javascript ajax不调用函数

Javascript ajax不调用函数,javascript,jquery,ajax,function,function-call,Javascript,Jquery,Ajax,Function,Function Call,我有一个对象“游戏”,当我调用creategame时,它使用jqueryajax。。。一切正常,但当我想从ajax成功函数addLoadEvent调用它时,它不会调用它,当我尝试从createGame(此处代码的注释部分)调用此函数时,它会工作。。。你知道为什么我不能称之为ajax成功吗?我从success中尝试了控制台日志,它是在控制台中打印的,所以ajax工作得很好。谢谢大家的帮助 var game=new ttt_game(); function addLo

我有一个对象“游戏”,当我调用creategame时,它使用jqueryajax。。。一切正常,但当我想从ajax成功函数addLoadEvent调用它时,它不会调用它,当我尝试从createGame(此处代码的注释部分)调用此函数时,它会工作。。。你知道为什么我不能称之为ajax成功吗?我从success中尝试了控制台日志,它是在控制台中打印的,所以ajax工作得很好。谢谢大家的帮助

        var game=new ttt_game();
        function addLoadEvent(func) {
            var oldonload = window.onload;
            if (typeof window.onload != 'function') {
                window.onload = func;
            } else {
                window.onload = function() {
                    if (oldonload) {
                        oldonload();
                    }
                    func();
                }
            }
        }            
        function ttt_game () {
            this.createGame = createGame;

            function createGame(){
                /*addLoadEvent(function(){
                            document.getElementById('player1_n').textContent=player1+':';
                            document.getElementById('player2_n').textContent=player2+':';
                            document.getElementById('turn').textContent='Čaká sa na príchod súpera.';
                        });*/
                $.ajax({
                    type: "POST",
                    url: "process.php",
                    data: {'function': 'create','game_id': game_id,'player1': player1},
                    dataType: "json",
                    success: function(data){
                        addLoadEvent(function(){
                            document.getElementById('player1_n').textContent=player1+':';
                            document.getElementById('player2_n').textContent=player2+':';
                            document.getElementById('turn').textContent='Čaká sa na príchod súpera.';
                        });
                    },
                    error: function(jqXHR, textStatus, errorThrown) {
                        alert(errorThrown);
                    }
                });
            }
        } 
        game.createGame();

它看起来像是在
addLoadEvent
上,您正在添加一个
窗口。onload
处理程序,当您从
createGame
调用时,当调用
窗口时,这一点有效。onload
尚未启动,但当您从成功处理程序调用它时,onload事件可能已经启动,因为ajax是异步处理的

您是否检查是否调用了
success
处理程序?同时检查您的浏览器控制台是否有任何错误OK。。。它看起来像是在
addLoadEvent
上,您正在添加一个
窗口。onload()
处理程序,当您从
createGame
调用它时,当调用
窗口时,此功能会起作用。onload
尚未触发,但当您从成功处理程序调用它时,由于ajax已被处理,因此
onload
事件可能已经触发asynchronously@ArunPJohny这很愚蠢:)你说得对“窗口。加载”被解雇了当我在函数“addLoadEvent”之外成功尝试它时,它可以工作,但昨天当我编写它时。。。它不起作用,我必须使用这个函数“addLoadEvent”,因为html元素没有被创建:)谢谢你的帮助,我将把它作为一个答案发布