首先对我的项目进行一些解释:
我在机器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ä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的发送消息)为什么我只是在另一台机器上失去了状态的价值?