在其他PC上丢失变量

时间:2016-07-12 18:48:00

标签: javascript php jquery

首先对我的项目进行一些解释:
我在机器A上运行XAMPP服务器。在这台机器上打开一个浏览器,显示一些处于不同状态的“卡片”(要做,正在进行和完成)。 在管理页面上,我在州内有相同的卡要做和完成。 如果我点击一张卡,可视化将变为“正在进行”,管理页面会显示我要执行的步骤。如果我点击完成,卡的可视化打开可视化和管理页面完成。如果我点击取消,他们会转向“做”。
我的问题:如果我在机器A上运行管理页面,一切正常。如果我在iPad上运行管理页面 - >一切都好。但是,如果我从另一台PC运行管理页面,$ _POST变量就会丢失 Admin页面是一个PHP文件,它为每张卡片创建javascript。 我在浏览器中发布创建的源代码。 这是函数的JavaScript / jQuery代码:

function updateDatabase(cardnumber, ready, cardInEdit){
    var url2send = "./serverfunc.php";
    var text = cardnumber;
    var ready = ready;
    var edit = cardInEdit;
        $.ajax({
            type: "POST",
            url: url2send,
            data: { action: 'updateState', card: text, status: ready, edit: edit},
            crossDomain: true,
            cache: false,
            beforeSend: function () {
                console.log("updateDatabase: update Karte "+text);
            },
            success: function (data) {
                if (data == "ok") {
                    console.log("update Database erfolgreich ausgefuehrt");
                }
                if (data == "error") {
                    console.log("update Database bekam error");
                }
            }
        });
};


var card1 = document.getElementById("card1");
var cardFlipped1 = $("#card1").data("flip-model");
card1.addEventListener("click", function(){
if (cardFlipped1.isFlipped == false && 0 == 0){
   cardInEdit = true;
   status = false;
   getToDoList(1);
}else if (cardFlipped1.isFlipped == false && 0 == 1){
   cardInEdit = false;
   status = true;
}else{
   cardInEdit = false;
   status = false;
}
updateDatabase(1,status, cardInEdit);
});


function getToDoList(cardID) {
var url2send = "./serverfunc.php";
$.ajax({
    method: "POST",
    dataType: "json",
    url: url2send,
    data: { action: 'getToDoList', card: cardID },
    crossDomain: true,
    cache: false,
    beforeSend: function () {
        console.log("getToDoList: sende Daten");
    },
    success: function (data) {
        console.log("getToDoList: Daten erhalten " + data);

        $("#popupcontent"+cardID).empty();

        //ist eine Karte in Bearbeitung, dann zeige das popup an
        $.each(data, function (i, field) {
        if(field.kind == 'text'){
            $("#popupcontent"+field.kartennummer).append("<li>"+field.wert+"</li>");
        }
        if(field.kind == 'image'){
            $("#popupcontent"+field.kartennummer).append("<li><img src=\"cardtodo/images/"+field.source+"\"></li>");
        }
        if(field.kind == 'movie'){
            $("#popupcontent"+field.kartennummer).append("<li><video width=\"320\" height=\"240\" controls><source src=\"cardtodo/movies/"+field.source+"\" type=\"video/mp4\"></video></li>");
        }
        if(field.kind == 'soundfile'){
            $("#popupcontent"+field.kartennummer).append("<li>Audio abspielen: <br/><audio controls=\"true\" src=\"cardtodo/audio/" + field.source + "\" type=\"audio/mp3\">Audio wird auf diesem Ger&auml;t nicht untertützt!</audio></li>");
        }

        });
    }
});

}

如上所述,如果我在机器A(服务器运行的地方)上观察网络流量,它会发送点击“action = updateState&amp; card = 1&amp; status = false&amp; edit = true”并且一切正常。在另一台机器上,它发送“action = updateState&amp; card = 1&amp; status =&amp; edit = true”。在iPad上一切正常(我不知道如何看待来自ipad的发送消息)为什么我只是在另一台机器上失去了状态的价值?

0 个答案:

没有答案