2016-05-31 4 views
-2

Wenn ich versuchte, meine Ajax-Antwort mit Zeichenfolge zu überprüfen, dann schlägt das Drucken immer fehl.String-Abgleich funktioniert nicht in js?

ist hier mein Ajax Teil

var username = document.getElementById("name").value; 
var password = document.getElementById("password").value; 
var dataString = 'email='+ username + '&password='+ password; 


$.ajax({ 
    url:"http://test.com/login.php", 
    type: "post", 
    data: dataString, 
    success: function(data) { 
    alert(data); 
     var test = data.replace(/(\r\n|\n|\r)/gm," "); 
     alert(test); //working 
     if(test == "1"){ //condition failed 
      alert("h"); 
     }else{ 
      alert("fail"); //printing this 
     } 
    }, 
    error: function(xhr, desc, err) { 
    console.log(xhr); 
    console.log("Details: " + desc + "\nError:" + err); 
    } 
}); 

Alarm enter image description here

+0

Meine Vermutung wäre, dass "test" isn ' t gleich "1". Dein Code/deine Kommentare scheinen das zu bestätigen. –

+0

seine 1 ..i kann sehen, dass in Alarm – Bangalore

+0

kann es "1" sein, aber es ist nicht "" 1 ". Beachte, dass "1" wahrscheinlich versteckte Zeichen enthält, die nicht in der Warnung angezeigt werden. –

Antwort

2

, was ich vermute, bin ist, dass Test eine Zeichenkette wie "1" ist, gibt es Leerzeichen innerhalb

data.replace(/(\r\n|\n|\r)/gm,""); 
 
// instead of data.replace(/(\r\n|\n|\r)/gm," ")