Javascript/jQuery - Ajax Problem
Core
- javascript
function UserExists(EL, timeout){if (EL.flag == 1 && EL.id == system_settings.id_username){EL.alink = $.ajax({
type : "POST",
url : "index.php?ajax=send",
data : EL.name + "=" + EL.value,
beforeSend : function(){
ShowProofingProgress(EL);
},
success : function(respons_flag){
console.log(respons_flag);
if(respons_flag != "true"){
flag = false;
ShowMessage(EL, system_settings.class_status_fail, "Username bereits vergeben", meassage_box, (timeout));
}else{
ShowMessage(EL, system_settings.class_status_ok, "OK", meassage_box, (timeout));
}
}});}}
Servus Leute,
ich leide im Moment unter der sehr unberechenbaren Verlässlichkeit dieser
Ajax Funktion. Zunächst sendet Sie brav wie sie es soll ihre Variablen, POST & GET,.. dann nach xx Eingaben,.. Kein Post, kein GET,.. Passiert auf meinem Localhost.
Habt Ihr Ideen woran es liegen oder wonach ich suchen soll?
Hi,
ich leide im Moment unter der sehr unberechenbaren Verlässlichkeit dieser
Ajax Funktion. Zunächst sendet Sie brav wie sie es soll ihre Variablen, POST & GET,.. dann nach xx Eingaben,.. Kein Post, kein GET,.. Passiert auf meinem Localhost.Habt Ihr Ideen woran es liegen oder wonach ich suchen soll?
Erste zweifelsfrei zu klärende Frage: Macht der Client keine Requests mehr, oder hat der Server keine Lust mehr, solche zu beantworten?
MfG ChrisB
Der Client - schickt und der Server Antwortet. Jedoch sind in der Antwort die Variablen POST und GET verschwunden. Ich habe jetzt weiter herum probiert,
scheinbar liegt es an der Cookie-Überpürfung bzw. Header-Weiterleitung.
/*/ Execute: Cookie Proof: */
/*---------------------------------------------------------------------*/
public function CookieProof(){
if ($this->cookieproof && $_SESSION['user']['cookies'] != "aktiviert" && $_GET['cookies'] != 'false' &&
!isset($_GET['reqeust']) && !isset($_GET['ajax']) ){
/*---------------------------------------------------------------------------------------------------------------------------------------------*/
if (!isset ($_GET['cookies'])){
setcookie("TestCookie", 'TestValue');
header('Location: index.php?cookies=proofed');
}else{
if (!isset($_COOKIE["TestCookie"]) && $_GET['cookies'] == 'proofed'){
$_SESSION['user']['cookies'] = "deaktiviert";
header('Location: index.php?cookies=false');
}else{
$_SESSION['user']['cookies'] = "aktiviert";
header('Location: index.php');
}}}}
Warum beim Ajay-Request die SESSION Variable: $_SESSION['user']['cookies']
nicht mehr zur Verfügung steht ist mir ein Rätsel, da die Session davor
natürlich mit session_start(); eingeleitet wird,..
Durch die Bedingung: !isset($_GET['ajax'] ist das Problem oberflächlich
behoben, darzächlich jedoch nicht - da beim nächsten Seitenaufruf Cookie
Proof wieder ausgeführt wird,..
Hi,
Der Client - schickt und der Server Antwortet. Jedoch sind in der Antwort die Variablen POST und GET verschwunden. Ich habe jetzt weiter herum probiert, scheinbar liegt es an der Cookie-Überpürfung bzw. Header-Weiterleitung.
Es wäre schön, wenn du die Abläufe verbal beschreiben würdest.
Mir die Vorgänge aus unkommentierten und auf Grund der Einrückungstiefe bei halbwegs normaler Bildschirmbreite nicht mal mehr auf einen Blick erfassbaren Code-Bruchstücken selber herzuleiten, ist gerade etwas mehr, als ich für die Untersuchung *deines* Problems zu leisten bereit bin ...
Warum beim Ajay-Request die SESSION Variable: $_SESSION['user']['cookies']
nicht mehr zur Verfügung steht ist mir ein Rätsel, da die Session davor
natürlich mit session_start(); eingeleitet wird,..
Wie schnell feuerst du die Requests, die zu einem Client/einer Session „gehören“, ab?
Bei zu hoher Frequenz könnte es sich schlicht und einfach um ein Problem mit einer noch von einer anderen Scriptinstanz blockierten Session-Datei handeln.
MfG ChrisB
Das Problem war:
session_regenerate_id(true);
Wenn die Session-ID sich bei jedem Ajax erneuert, passt Sie nicht
mehr zu vorhanden Session_ID bzw. zur Session_ID des nächstes
Requests,..
Danke für dein Interesse bzw. deine Hilfe :)
lG Core
Das Problem war, so Gott will,..
session_regenerate_id(true);
Wenn die Session-ID sich bei jedem Ajax erneuert, passt Sie nicht
mehr zu vorhanden Session_ID bzw. zur Session_ID des nächstes
Requests,..