0
我想要的其实很简单:我有一个JavaScript服务器和一个HTML客户端,我只想从服务器获取一个字符串,然后HTML页面将其添加到其下拉菜单中的一个。有三个相关的代码块:XMLHttpRequest no response
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);
}
这两个是在客户端的脚本标记。在我的服务器相关的代码是这样的:
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");
}
我知道loaderCaller()如果我设置stringLoader返回一个字符串,而不是一个变量,所以这个问题是不是会添加选项。我也知道服务器中的if {}正在执行,因为我已经放了几个console.log()调用来测试它。
这应该添加一个选项,只是说“测试”的选择菜单,对不对?我认为这是那些答案显而易见的问题之一。请帮帮我。这段代码在很多小时内都无法使用,我非常想死。