基本的Ajax使用node.js发送/接收

因此,我正在尝试制作一个非常基本的node.js服务器,该服务器接受字符串请求,从数组中随机选择一个,然后返回所选的字符串。不幸的是,我遇到了一些问题。


这是前端:


function newGame()

{

   guessCnt=0;

   guess="";

   server();

   displayHash();

   displayGuessStr();

   displayGuessCnt();

}


function server()

{

   xmlhttp = new XMLHttpRequest();


   xmlhttp.open("GET","server.js", true);

   xmlhttp.send();


   string=xmlhttp.responseText;

}

这应该将请求发送到server.js:


var http = require('http');


var choices=["hello world", "goodbye world"];


console.log("server initialized");


http.createServer(function(request, response)

{

    console.log("request recieved");

    var string = choices[Math.floor(Math.random()*choices.length)];

    console.log("string '" + string + "' chosen");

    response.on(string);

    console.log("string sent");

}).listen(8001);

很明显,这里有几处错误:


我感觉到我“连接”这两个文件的xmlhttp.open方式在方法和使用中都无法正确response.on发送字符串回到前端。


我对如何在localhost上调用此页面感到有些困惑。前端名为index.html,服务器的地址为8001。初始化server.js后,我应该在localhost上访问哪个地址才能访问初始的html页面?我应该将其更改为.listen(index.html)或类似的名称吗?


我如何实现这一点(使用.responsetext等)还有其他明显的问题吗?


(对冗长的多问题帖子很抱歉,但是各种教程和node.js源均假设用户已经对这些事情有所了解。)


人到中年有点甜
浏览 794回答 3
3回答

慕无忌1623718

我遇到了由&符提供的代码(nodejs 0.10.13)的以下错误:access-control-allow-origin不允许起源问题已解决,但正在更改response.writeHead(200, {"Content-Type": "text/plain"});至response.writeHead(200, {                 'Content-Type': 'text/html',                 'Access-Control-Allow-Origin' : '*'});
打开App,查看更多内容
随时随地看视频慕课网APP