2016-03-19 7 views
0

Ich habe ein kleines Problem vielleicht, weil ich ein Anfänger in AJAX-Programmierung bin, mache ich eine Funktion in AJAX Jquery, die eine PHP-Datei aufruft, die eine Anfrage an die Datenbank für Informationen macht über einen Spieler. Wenn die PHP-Datei auf die Ajax-Funktion antwortet, erhalte ich ein Objekt mit Nullwerten als Antwort.AJAX PHP - Antwort ist ein Objekt mit Nullwerten

Gibt es eine Zeile, die ich in meinem Code verpasst habe? oder etwas, was ich vergessen habe zu tun?

Hier ist mein Code, AJAX-Funktion:

     $.ajax({ 
          method: 'GET', 
          url: "webservices/get_infos.php", 
          timeout: kTimeout, 
          success: function(response) { 
           alert(response); 
          }, 
          error: function() { 
           alert('error'); 
          } 
         }); 

und die PHP-Datei:

<?php 

include("connexion_bdd.php"); 


$_GET['mail'] = $mail; 


$req = $bdd->prepare('SELECT * FROM joueurs WHERE mail = ?'); 
$req->execute(array($mail)); 

$reponse = $req->fetch(); 


$return = array(); 
$return["user_name"] = $reponse["nickname"]; 
$return["profile_pic"] = $reponse["profile_pic"]; 
$return["user_id"] = $reponse["id"]; 

print(json_encode($return)); 

?> 

Im Erfolg der Ajax-Funktion, erhalte ich diese:

{“ benutzername ": null," profile_pic ": null," benutzer_id ": null}

Obwohl die Datenbanken e ist nicht null. Wo denkst du ist mein Fehler? PHP-Datei oder Ajax-Funktion? oder beides?

Vielen Dank für :)

bearbeiten helfen: Ich habe meinen Code geändert den Ausführungen gemäß i i die Variable AJAX> PHP passieren auf dem Weg hatte. Ich habe meine SQL-Abfrage in meiner Datenbank getestet und es funktioniert gut, aber ich habe immer noch das Problem der Null-Werte, nachdem ich das Objekt aus meiner PHP-Datei an die Succes-Funktion der AJAX/JS-Datei übergeben. Irgendwelche Ideen, was mit meinem Code nicht stimmt?

Nochmals vielen Dank.

+0

Ist '$ mail' gesetzt? Wenn nicht, würde Ihre SQL-Abfrage ungültig sein. – Wizard

+0

Methode: 'GET', ist es nicht Typ: 'GET'? – rahul

+0

könnten Sie JSON.stringify (Antwort) und c – rahul

Antwort

1

Sie haben hier zwei Probleme.

Zuerst senden Sie nicht den Mail-Parameter in Ihrer jQuery AJAX-Anfrage. Sie müssen den GET-Parameter an das Ende der URL unter dem url Schlüssel anhängen:

$.ajax({ 
    method: 'GET', 
    url: "webservices/[email protected]", 
    timeout: kTimeout, 
    success: function(response) { 
     alert(response); 
    }, 
    error: function() { 
     alert('error'); 
    } 
}); 

Das zweite Problem ist, dass Sie Ihre $mail Variablenzuweisung in Ihrem PHP-Skript nach hinten haben. Es sollte

$mail = $_GET['mail']; 

$_GET['mail'] werden automatisch von PHP gesetzt wird, wenn Sie das Skript mit einem GET-Request aufrufen. Da Sie in Ihrer vorbereiteten SQL-Anweisung jedoch auf $mail verweisen, möchten Sie den Wert $_GET['mail']$mail zuweisen.

+0

Ich habe geändert, was in meinem Code falsch war, aber es gibt immer noch das gleiche letzte Problem: Die Werte des Objekts, das von der Ajax-Funktion beantwortet wird, sind null. Ich denke, das Problem ist, wenn ich das Objekt in PHP erstellen, und nachdem das Objekt an den Ajax als Rückruf übergeben wird. Irgendeine Idee dazu? – AurelCA