从Facebook即时游戏加载的XMLHttpRequest返回空的结果,即使我刚刚从服务器得到它之前保存的数据

问题描述 投票:0回答:1

从服务器的响应返回,尽管只是在成功在于较早CONTEXTID保存数据空的结果。它的回报,但有时它之间返回()空字符串导致createNewGameAsync功能,而不是直接去populateFromBackend()函数的JSON数据大部分时间。我创建从毛刺https://glitch.com/edit/#!/panoramic-tendency项目的后端。

loadData: function () {
    var contextID = FBInstant.context.getID();
    console.log('loadData from ' + contextID);
    FBInstant.player.getSignedPlayerInfoAsync(contextID)
    .then(function (signedPlayerInfo) {
        var url = 'https://panoramic-tendency.glitch.me' + '/get-match'
        var sig = signedPlayerInfo.getSignature();
        var method = 'POST'
        var payload = { 'signature': sig };
        return req(url, method, payload);
    })
    .then(function (result) {
        if (result.empty) {
            return this.createNewGameAsync();
        } else {
            return Promise.resolve(result.data);
        }
    }.bind(this)).then(function (backendData){  
            this.populateFromBackend(backendData);
    }.bind(this))
    .catch(function (error) {
        this.displayError(error);
    }.bind(this));
xmlhttprequest fetch backend multiplayer facebook-instant-games
1个回答
0
投票

解决了。我节省了FbInstant.Player.getPhoto()的URL以及在数据库中。在与getSignedPlayerInfoAsync编码()的签名生成的无效格式,服务器无法对其进行解码,导致空值。

© www.soinside.com 2019 - 2024. All rights reserved.