2017-04-27 2 views
0

Ich habe eine funktionierende PHP-Seite überprüft, ob die Tabelle keine Werte hat.Vergleichen von PHP-Echo-Ergebnis in Javascript

PHP

$result = mysqli_query($db, $query) or die('error with db'); 

if (mysqli_num_rows($result)==0) 
{ 
    echo "No points found"; 
} 
else { 

$row = mysqli_fetch_array($result); 
echo json_encode($row); 

} 

Sobald die PHP seine Arbeit getan hat verwende ich das Ergebnis in meinem JS den Wert der Daten zu erhalten:

JS

Meine Ajax:

$.ajax({ 
    type: "GET", 
    url: "../php/courseInfo.php", 
    data:{ title: stringTitle}, 
    success: function(response){      
    updateChartPHP(response); 
} 
}); 

Und die Funktion den Job, zu überprüfen, ob Daten JSON hat oder nur „keine Punkte gefunden“:

function updateChartPHP(data) { 


if (data === "No points found") 
{ 
    alert("I'm triggered"); 
} 
else 
{ 
    alert("Ok"); 
} 
} 

Außer, wenn die Daten zurückgibt „keine Punkte gefunden“, wie es scheint, die erste Bedingung (Daten == = "Keine Punkte gefunden") wird nie ausgelöst, auch wenn Daten eindeutig "Keine Punkte gefunden" sind. Ist mein Ansatz, beide Werte falsch zu vergleichen?

Ich habe auch versucht, "Daten" zu einer Var zuzuordnen und dann zu vergleichen, tut es auch nicht.

Vielen Dank.

Antwort

0

Ich würde empfehlen, in dieser Art von Situation, ein console.log (Daten) zu tun, um zu sehen, was tatsächlich in Ihrem Datenobjekt ist

+0

Ich kann die "Keine Punkte gefunden" in meinem Konsolenprotokoll sehen, aber es scheint, als gäbe es 2 Zeilen, die oberste ist leer und die untere gibt mein Echo zurück. – AlexD

+0

könnte es sein, dass Sie etwas früher irgendwo in Ihrem Code wiederholen? –

+0

Ich bin nicht, ich habe nur zwei Echos in meinem Skript (die gezeigten). Meine inkludierte PHP-Datei ist nur eine Verbindung zu meiner db ohne Echo. – AlexD

0

Das Ergebnis aus meinem php, nachdem in meinem console.log Überprüfung war nicht „keine Punkte gefunden“, aber

auf der Oberseite mit einer leeren Zeile „
keine gefunden Punkte“. Dies kam von einem kleinen Skript darüber, das in seinen eigenen PHP-Tags eingeschlossen war. Die Leerzeile zwischen beiden wurde mit meinem Ergebnis zurückgegeben.

Ich habe nur beide Skripte als eins fusioniert und es funktioniert jetzt.