2016-09-27 2 views
1

привет, когда я пытаюсь использовать xhttp.send(); он продолжает возвращатьсянесколько xhttp.sends на одной странице

net::ERR_EMPTY_RESPONSE 

мой код выглядит следующим образом. когда пользователь пытается нажимать слишком быстро, он отталкивает его от страницы. есть ли способ остановить это?

document.domain = "bitcoinrpg.com"; 

function UsernameTaken(name) { 
    var xhttp; 
    if (window.XMLHttpRequest) { 
    xhttp = new XMLHttpRequest(); 
    } else { 
    xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    if (name == "") { 
    document.getElementById("UsernameTaken").innerHTML = ""; 
    return; 
    } 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     document.getElementById("UsernameTaken").innerHTML = this.responseText; 
    } 
    }; 
    xhttp.open("GET", "CheckUsername.php?q=" + name, true); 
    xhttp.send(); 
} 

function BattlePlayers() { 
    var xhttp; 
    if (window.XMLHttpRequest) { 
    xhttp = new XMLHttpRequest(); 
    } else { 
    xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     document.getElementById("BattleTable").innerHTML = this.responseText; 
    } 
    }; 
    xhttp.open("POST", "GetPlayers.php?", true); 
    xhttp.send(); 
    PlayerInfo(); 
} 

function PlayerInfo() { 
    var xhttp; 
    if (window.XMLHttpRequest) { 
    xhttp = new XMLHttpRequest(); 
    } else { 
    xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     document.getElementById("CharacterBar").innerHTML = this.responseText; 
    } 
    }; 
    xhttp.open("POST", "PlayerInfo.php?", true); 
    xhttp.send(); 
} 

function FightPlayer(enemyName) { 
    var elements = document.getElementsByClassName("BattleButton"); 
    for (var i = 0; i < elements.length; i++) { 
    elements[i].setAttribute("disabled", "disabled"); 
    } 
    var xhttp; 
    if (window.XMLHttpRequest) { 
    xhttp = new XMLHttpRequest(); 
    } else { 
    xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     document.getElementById("battlestatus").innerHTML = this.responseText; 
     BattlePlayers(); 
    } 
    }; 
    xhttp.open("GET", "FightPlayer.php?enemyname=" + enemyName, true); 
    xhttp.send(); 
} 

function InventoryShow() { 
    var xhttp; 
    if (window.XMLHttpRequest) { 
    xhttp = new XMLHttpRequest(); 
    } else { 
    xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     document.getElementById("InventoryTable").innerHTML = this.responseText; 
    } 
    }; 
    xhttp.open("POST", "PlayerInventory.php?", true); 
    xhttp.send(); 
} 

Я пытался возиться с почти каждый php.ini настройки Айв пытались переименовать каждую переменную xhttp для каждой функции каждый раз, когда она просто возвращает то же самое. вы можете увидеть, что им смысл здесь

enter image description here

+0

Возможно, вы вызываете 'PlayerInfo()' в функции обратного вызова из 'BattlePlayers()', поэтому он не пытается обновлять информацию о игроке до окончания битвы. – Barmar

+0

См. Http://stackoverflow.com/questions/22284111/php-jquery-ajax-call-throws-neterr-empty-response – Barmar

+0

прочитал это, но ничто не подходит для моей проблемы. это даже происходит только при базовой функции javascript, чтобы показать/скрыть divs – GregHBushnell

ответ

0

Для тех, кто испытывает то же самое, и вы с GoDaddy для вашего хостинга. вам нужно переключить свою проблему на конец, и переключение фиксирует это для меня.

Смежные вопросы