上回说到了发送get请求,那么我们肯定也是要接受别人发出的get请求,所以就直接代码吧,我果然不会开场白。。。
先准备我们要请求的代码:(用嘴简介的jq来吧)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<button οnclick="ajax1()">点击按钮发送请求</button>
<script src="../js/jquery.js">
</script>
<script>
function ajax1() {
$.ajax({
type: "get",
url: "http://localhost:3000/myname?a=1&b=2",
success: function(sres) {
console.log("后台返回的信息为:");
console.log(sres);
$("button").text(sres.userinfo.userage);
console.log(sres.userinfo.userage);
}
});
}
</script>
</body>
</html>
界面就不给了。。。。
接着。是我们的服务器代码:备注写的有点多。。。。
注意两点,一个的话是我们请求的时候通常会多请求一次我们的
/favicon.ico
也就是我们的小图标。还有一点就是:
返回的数据只能是buffer或则是string。。。这是人家提醒的,我也没考证,若是错误了,请在下面指出,谢谢各位大佬
var http = require('http');
var url = require('url');
var util = require('util');
//创建服务
http.createServer(function(req, res){
//设置响应头的信息
res.writeHead(200,{"Content-Type":'application/json','charset':'utf-8','Access-Control-Allow-Origin':'*','Access-Control-Allow-Methods':'PUT,POST,GET,DELETE,OPTIONS'});
//过滤掉favicon的请求;
if(req.url=="/favicon.ico"){
return false;
}
//获取信息并且打印在页面上
console.log("\n已经收到了信息");
console.log("\nreq对象的连接如下:");
console.log(req.url);
//获取参数
var params = url.parse(req.url, true).query;
console.log("\n请求的参数如下")
console.log(params);
//假定一个json数组,然后返回回去,注意,这儿的话传不能用json,必须要设置成为一个string或者buffer,不要问我为啥。规矩就是这样子的
var myjson = JSON.stringify(
{
//定义一个字段的名字叫做username
username:"这个是后台返回的username字段",
userinfo:{
userage:1,
useraddress:"广东省汕头市潮南区峡山街道"
}
}
);
console.log("你打算返回去的数据为:");
console.log(myjson);
res.write(myjson);
//结束响应
res.end();
}).listen(3000);
console.log("服务器已经启动");
然后打开我们可爱的cmd
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\mk>d:
D:\>cd nodejs
D:\nodejs>node d:/code/nodejs/node-http-get-receiver
服务器已经启动
然后就是界面的截图了
有图就是真相,溜了溜了
各位大佬,感谢了: