while jQuery 'Wenn' Statement String Vergleich nicht funktioniert




multiple if statements javascript (3)

Es fällt mir sehr schwer, etwas sehr Einfaches zu tun. Hier ist der Code:

        if(data == 'success') {

            alert('foo');

        } else {

            alert(data);

        }

Ich habe es vereinfacht, aber das ist alles, was nötig ist, um zu verstehen, was vor sich geht. Die Variable 'Daten' ist ein Ergebnis eines AJAX-Aufrufs, wenn dies einen Unterschied macht. Das Problem ist, dass es immer zur "else" -Anweisung geht und es "Erfolg" anzeigt, was es nicht tun sollte, wenn es zum "else" geht. Irgendeine Idee, was hier vor sich geht?

EDIT: Hier ist der vollständige AJAX-Code in jQuery:

$.post("/manage_sites.php", {before:before, edit:after}, function(data){

        if(data == success) {

            alert('blah');

        } else {
            alert(data);
        }
    });

Und dann in der PHP Antwort:

...code....
$update = mysql_query("UPDATE users SET feeds = '$afterFeed' WHERE username = '$name'") or     die("Query Failed");

if($update) {

    echo  'success';  //this is the 'string' that is being given to 'data'
}

Sie können die abschließende?> In Ihrer Datei entfernen, wenn es die letzte Zeile in der Datei ist. Ich möchte auf die Kommentare zum ursprünglichen Problem antworten, aber ich sehe nicht wie.


Sie können es auf der Client-Seite mit $.trim() wie $.trim() beheben:

if($.trim(data) == 'success') {

Oder, ein besserer Ansatz wäre das Entfernen der neuen Zeile, die von der Serverseite kommt, wahrscheinlich eine fehlerhafte neue Zeile in Ihrem PHP irgendwo, überprüfen Sie vor oder nach dem <? ?> <? ?> Block, das ist am häufigsten, wo sie auftauchen.

Oder beenden Sie einfach nach der Ausgabe Ihres Inhalts wie folgt:

if($update) {
  echo 'success';
  exit();
}

Clientseitige Validierung funktioniert einwandfrei.

$.trim() fine.

Danke Nick. Es hat lange gedauert zu verstehen, warum es nicht funktioniert ...





if-statement