Node.js 使用jQuery取得Nodejs http服务端返回的JSON对象示例

时间:2023-12-25 10:53:37

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>