Was ich will ist wirklich einfach: Ich habe einen Javascript-Server und einen HTML-Client, und ich möchte nur eine Zeichenfolge vom Server, die die HTML-Seite dann zu einem der Dropdown-Menüs hinzugefügt. Es gibt drei relevante Codeblöcke:XMLHttpRequest keine Antwort
function stringLoader(){
var xhr = new XMLHttpRequest();
var url = "/pathname";
xhr.open("GET",url);
xhr.setRequestHeader("Content-Type", "text/xml");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var data = xhr.responseText;
}
}
};
xhr.send();
return data;
}
function loaderCaller(){
var element = document.getElementById("Menu");
//"Menu" is the html <select> box I want to add to
var option = document.createElement("option");
option.text = stringLoader();
element.add(option);
}
Diese beiden sind in Skript-Tags im Client. Der entsprechende Code in meinem Server ist dies:
function handleRequest(req, res) {
//process the request
console.log("Request for: "+req.url);
var filename = ROOT + req.url;
var urlObj = url.parse(req.url, true);
var code = 200;
var data = "";
if(req.method === 'GET' && urlObj.pathname === ("/pathname")){
res.writeHead(code, {'content-type': 'text/html'});
res.send("test");
}
Ich weiß loaderCaller() die Option hinzufügen, wenn ich stringLoader setzen einen Stringliteral anstelle einer Variablen zurück, so ist das Problem nicht mit dem. Ich weiß auch, ob {} auf dem Server ausgeführt wird, weil ich mehrere console.log() -Aufrufe zum Testen verwendet habe.
Dies sollte eine Option zum Auswahlmenü hinzufügen, das nur "test" sagt, oder? Ich nehme an, das ist eines dieser Probleme, bei denen die Antwort offensichtlich ist. Bitte hilf mir. Dieser Code ist seit vielen Stunden nicht mehr funktionsfähig und ich möchte sehr gerne sterben.