简单的nodejs服务

页面上写一个简单的方法

    <script>
 		function show(){
 			console.log('ok')
 		}
 	</script>

通过nodejs服务的方式写一个接口调用该方法


    //导入http内置块
    const http = require('http')
    
    //创建一个Http服务器
    const server = http.createServer()
    //监听http服务的request请求
    server.on('request',function(req,res){
    	const url = req.url
    	
    	if(url === '/getscript'){
    		//拼接一个合法的js脚本,这里拼接的是一个方法的调用
    		var scriptStr = 'show()'
    		//res.end发送给客户端,客户端把这个字符串当作脚本代码去执行
    		res.end(scriptStr)
    	}else{
    		res.end('404')
    	}
    })
    //指定端口号并启动服务器监听
    server.listen(3000,function(){
    	console.log('server listen ai http://127.0.0.1:3000')
    })

然后运行该服务,出现server listen ai http://127.0.0.1:3000则服务运行成功。在页面中即可访问该3000的端口地址,并且可以通过访问getscript接口来调用show方法。

此时页面运行后控制台输出 ok 即为访问成功。

但这样方法名称在客户端写死了,不太妥当。最后在服务器能够接受来自客户端的方法的名称。下面进行改造:

在客户端访问地址加上调用方法名:

<script src="http://127.0.0.1:3000/getscript?callback=show"></script>

在js中引入可以解析url的模块,通过utl获取到传过来的方法名参数。

//导入http内置块
const http = require('http')
//这个核心模块可以解析url地址,拿到pathname query
const urlModule = require('url')

//创建一个Http服务器
const server = http.createServer()
//监听http服务的request请求
server.on('request',function(req,res){
	/* const url = req.url */
	const { pathname:url,query } = urlModule.parse(req.url,true)
	if(url === '/getscript'){
		//拼接一个合法的js脚本,这里拼接的是一个方法的调用
		//var scriptStr = 'show()'
		var scriptStr = `${query.callback}()`
		
		//res.end发送给客户端,客户端把这个字符串当作脚本代码去执行
		res.end(scriptStr)
	}else{
		res.end('404')
	}
})
//指定端口号并启动服务器监听
server.listen(3000,function(){
	console.log('server listen ai http://127.0.0.1:3000')
})

这样便可以实现node写服务端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值