server.js代码:
// 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http"); // 创建服务器,创建HTTP服务器要调用http.createServer()函数,它只有一个参数,是个回调函数,服务器每次收到http请求后都会调用这个回调函数。服务器每收到一条http请求,都会用新的request和response对象触发请求函数。 var server=http.createServer(function(req,resp){ console.log("请求地址是:"+req.url); //这样设置才可以解决跨域的请求 resp.writeHead(200,{"Content-Type":"text/plain;charset='utf-8'",'Access-Control-Allow-Origin':'*','Access-Control-Allow-Methods':'PUT,POST,GET,DELETE,OPTIONS'}); // 创建对象 var emp=new Object; emp.name="Atila"; emp.age=39; // JSON.stringify用于将对象转成JSON文本,JSON.parse用于将JSON文本转成对象 var retval=JSON.stringify(emp); resp.end(retval);// response对象结束响应 }); // 服务器开始运作监听端口 server.listen(3000,"localhost",function(){ console.log("服务器开始运作,监听端口3000中..."); });
页面jQuery代码:
<!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <head> <title>取得Node.js提供的数据</title> <script src="./js/jquery-1.7.2.min.js" type="text/javascript"></script> </head> <body> <div id="nameDiv"></div> <div id="ageDiv"></div> </body> </html> <script type="text/javascript"> <!-- /***************************************************** * 窗口载入时调用的启动函数 *****************************************************/ $(document).ready(function() { loadRemoteData(); }); /***************************************************** * 取出远程服务器数据 *****************************************************/ function loadRemoteData(){ var url="http://127.0.0.1:3000"; // $.getJSON用于取得远程返回的JSON文字 $.getJSON(url,function(data){ document.getElementById("nameDiv").innerHTML=data.name; document.getElementById("ageDiv").innerHTML=data.age; }); } //--> </script>