javascript帖子没有做功能但加载网址

时间:2015-02-22 13:50:21

标签: javascript jquery post

我正在制作Stratego (错误更远)
所以当页面是loadet whit时我正在创建地图:

turn = true;
komboType = "2kombo";
GameOpsetning = [];
GameOpsetningEnemy = [];
$(document).ready(function() {   
    createmap();
}

然后我做一些控制台日志以确保它有效..

function createmap () {
if (!GameStarted) {
    console.log("GameOpsetning" + GameOpsetning);
    if(GetSetup(Gameid)){
        console.log("GameOpsetning1" + GameOpsetning);
    }
    else
    {
        console.log("GetSetup : error");
    }

这里出现错误,它将打开文件" game.php"惠特没有错误。但它不会在帖子/功能方面做任何事情。它不会发出警报或if或console.log吗?

    function GetSetup (Gameid) {
    console.log("GameOpsetning3: " + GameOpsetning);
    if ($.post("game.php", { gameid: Gameid }, function(data) {
        alert(data);
        var data2 = JSON.stringify(data);
        alert(data2);
        //var json = $.parseJSON(data);
        if (data2.status2 && data2.status2 != "false") {
            console.log("data.game: " + JSON.stringify(data.game));
            GameOpsetning = JSON.stringify(data.game);
            GameOpsetningEnemy = JSON.stringify(data.enemygame);
            komboType = data.type;
            turn = data.turn;
            console.log("GameOpsetning5: " + GameOpsetning);
            return true;
        }
        else
        {
            console.log("error: ");
            return false;
        }
    })){
        console.log("post: done");
    }else{
        console.log("post: error");
    }
    console.log("GameOpsetning4: " + GameOpsetning);

}

控制台输出:

GameOpsetning
GameOpsetning3: 
post: done
GameOpsetning4: 
GetSetup : error

没有控制台错误,页面返回JSON

并尝试过像:

console.log("GameOpsetning" + GameOpsetning);
GetSetup(Gameid);
console.log("GameOpsetning1" + GameOpsetning);
if (CheckGame()) {

然后控制台日志是:

GameOpsetning
GameOpsetning1
GameOpsetning3: 
post: done
GameOpsetning4: 
GetSetup : error

抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

您正在测试if($.post("game.php",...如果测试,结果是什么?始终true。因为任何非假的,0或未定义都是真的。您没有测试ajax调用的结果,您正在测试 ajax调用(一个函数)。

if(GetSetup(Gameid))相同。 GetSetup(Gameid)返回:console.log("GameOpsetning4: " + GameOpsetning)if(GetSetup(Gameid))结果为undefined,其解释了GetSetup : error输出。

在您的控制台中输入以下内容:if(console.log('test')) alert("yay"):它不会警告" yay"它只会记录“测试”#39;并返回undefined。这是您的if(GetSetup(Gameid))

同样,如果你输入if($.post("game.php")) alert('yay'),它会提醒yay,因为测试始终为真,无论$.post的结果是什么。