2017-01-17 3 views
3

Ich erhalte falschen Zeichenfolge vergleiche in meiner Ajax-Funktion zur Folge hat:Falscher Ergebnis-String vergleichen jquery

$("#scan").click(function() { 
    id = 1; 

    $.ajax({ 
     type: "POST", 
     data: { reqValue: id }, 
     url: "http://localhost:8080/test-notifier-web/RestLayer", 
     success: function(data){   
      $.trim(data) 
      alert(data); 
      if ('OK' === data) { 
       alert("yes"); 
      } else { 
       alert("no"); 
      } 
     } 
    }); 
}); 

Daten von meiner Java-Servlet-Antwort zurückgegeben werden, in der Tat erhalte ich eine Meldung „OK“ angezeigt wird, dann zeigt mir "Nein". Was mache ich falsch?

+2

Sie rufen '$ .trim()', aber das Ergebnis nichts zuordnen. Versuchen Sie, Leerzeichen aus der zurückgegebenen Zeichenfolge zu trimmen, bevor Sie vergleichen: 'if ('OK' === data.trim())'. Aus diesem Grund ist die Rückgabe einer Zeichenfolge aus einer AJAX-Anfrage keine gute Idee. Schauen Sie sich JSON stattdessen an –

+0

@RoryMcCrossan Das stimmt, jetzt ist es in Ordnung. Poste es, damit ich deine Antwort annehmen kann, vielleicht könntest du ein Beispiel mit JSON für eine bessere Übung geben;) danke – slash89mf

+0

Ich habe eine Antwort für dich hinzugefügt. Die Rückgabe von JSON ist etwas, was Sie von Ihrem Server aus tun, das hängt davon ab, welche Serversprache Sie verwenden. –

Antwort

3

Sie rufen $.trim(), aber das Ergebnis nichts zuweisen. Versuchen Sie, aus dem zurückgegebenen String Trimmen Leerzeichen, bevor Sie vergleichen, wie folgt aus:

$("#scan").click(function() { 
    id = 1; 

    $.ajax({ 
     type: "POST", 
     data: { reqValue: id }, 
     url: "http://localhost:8080/test-notifier-web/RestLayer", 
     success: function(data) {  
      if ('OK' === data.trim()) { 
       alert("yes"); 
      } else { 
       alert("no"); 
      } 
     } 
    }); 
}); 

Es ist aus diesem Grund, dass eine Zeichenfolge aus einer AJAX-Request Rückkehr ist keine gute Idee. Suchen Sie nach JSON, um stattdessen zurückzukehren.

Verwandte Themen