2016-03-22 14 views
0

Entschuldigung über mein Englisch. Ich habe ein Problem mit AJAX ungefähr eine Woche und kann es nicht lösen. Ich habe alle gesucht. Dies ist ein Teil des Codes der login.js-Funktion. Ich weiß nicht, warum es nichtconnect.send (Formular), nicht senden

funktionieren ..

connect.open("POST","ajax.php?mode=login",true); 
connect.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
window.alert(form); //here I see the window,with the data form ok 
connect.send(form); 

...

Der Weg der ajax.php es richtig ist, habe ich eine Nachricht am Anfang von Ajax. PHP zu überprüfen, aber nie ausführen.

ajax.php Code ...

<?php 
if($_POST) 
{ 
switch (isset($_GET['mode']) ? $_GET['mode'] : null) 
{   
case 'login':    
echo "login case";   
    break;  

default:   
    header('location: index.php'); 
break;   
} 
} 
else 
{  
    header('location: index.php'); 
} 
?> 

Vielen Dank im Voraus ...

+0

Wie definieren Sie die Variable 'form'? – Quentin

+0

"aber nie ausführen" - Was wird nie ausgeführt? Woran erkennst du das? – Quentin

+0

Sorry mein Englisch schlecht, ich versuche zu sagen "nie ausführen" becouse, niemals ajax.php laufen. Ich lege ein in ajax.php var_dump ($ _ POST); nach focaazul

Antwort

0

Ändern Sie die erste Zeile Ihrer PHP-Datei if (!empty($_POST)) {

_POST $ wird nie zu true analysiert, also hört deine Anfrage immer dort auf. Mit !empty stellen Sie sicher, dass es ein $ _POST-Array gibt und dass es nicht leer ist.

+0

Das ist nicht (vollständig) richtig. '$ _POST' wird zu" wahr "ausgewertet, wenn es nicht leer ist. – m02ph3u5

+0

Ok danke .. vorher zum "if" Satz, ich hatte ein Echo vor das "if" geworfen, ... und ich habe nie realisiert, dass ich in diese Datei (ajax.php) komme, aber ich habe deinen Vorschlag "if (! empty ($ _ POST)) "und funktioniert nicht. In meiner kleinen Erfahrung ... Ich realisiere das connect.send(), sende nichts, und ich weiß nicht, wie man sieht. Danke nochmal. – focaazul