2017-09-04 1 views
0

Ich möchte zwei Zeichenfolgen in JavaScript vergleichen, aber mein Code funktioniert nicht.So vergleichen Sie Zeichenfolgen in JavaScript

Ich denke, if(answer==correct_answer_arr[0]) ist falsch, aber ich weiß nicht , was das Problem ist, oder wie ich es beheben kann.

* Ich habe bereits, dass "correct_answer_arr" kein Problem hat, die

richtigen Informationen hat

JS-Code:

var correct_answer_arr = new Array(); 

$('document').ready(function() { 
    var str; 
    var request = new XMLHttpRequest(); 
    request.open('get', 'http://localhost:8080/new/text.jsp', true); 
    request.onload = function() { 
    str = request.responseText; 
    correct_answer_arr = str.split(","); 
    }; 
    request.send(); 
}); 

function keycheck(event) { 
    if (event.keyCode == 13) { 
    var answer = $("input").val(); 
    if (answer == correct_answer_arr[0]) { 
     alert("correct"); 
    } else { 
     alert("wrong"); 
    } 
    } 
} 
+1

'==' wird Strings vergleichen, was macht Sie denken, dass es falsch ist? console.log beide Werte zu sehen, ob sie das sind, was Sie denken, sie sind –

+0

wo rufst du keycheck? – inarilo

+1

auch '$ ('document')' wird nicht das Dokument auswählen, es ist '$ (document)' –

Antwort

1

I console.log(correct_answer_arr); vor und nach dem str.split(",") tun würde, um zu sehen, was los ist .

Bitte auch wenn Antwort Set get undefined, weil es ein häufiger Fehler ist, wenn $().val() auf eine leere Sammlung aufrufen. Wie bereits erwähnt, Dokument ist ein reserviertes Schlüsselwort und sollte in diesem Fall nicht in quotemarks geschrieben werden.

Es ist auch eine gute Praxis, === statt == zu verwenden.

+0

Ich habe alles überprüft, was du gesagt hast, aber meine Codes funktionieren immer noch nicht Ich denke, dass etwas passiert, wenn ich Daten mit AJAX erhalte. Zeichenkette, die mit AJAX verbunden ist, hat unsichtbares Steuerzeichen? –

Verwandte Themen