node.js处理前端提交的GET请�
AJAX的流行使得浏览器和服务器之间的交互越来越强大。我们需要通过HTTP进行通信,并提取请求的URL和GET/POST参数。然后需要根据这些数据进行相应的操作,实现前端交互。
首先,获取获取请求流程
1.首先,像以前一样,在与server.js相同的目录中创建一个act文件夹,并在其中创建一个index1.html文件夹。Index1.html代码是:
body a href=' index 2 . html ' style=' display : block;宽度width:500px高度:300 px;background:pink'/aform方法=' get ' action='/get ' style=' padd :20 px;'!- method:提交方法为get,提交地址为/get-name:input type=' text ' name=' name '/br/age:input type=' text ' name=' age '/br/input type=' submit ' value=' submit '/form/body 2。
var http=require(' http ');var path=require(' path ');var fs=require(' fs ');var URL=require(' URL ');//route varroutes={'/get' :函数(req,RES){ RES . setheader(' content-type ',' text/plain;charset=utf-8 ');var name=req . query . name;var age=req . query . age;Res.end('姓名为:'姓名'年龄为:'年龄');//RES . end(JSON . stringify(req . query));} } var server=http . createserver(function(req,RES){ var pathObj=URL . parse(req . URL,true);//新增加的处理routes的代码varhandlefn=routes[pathobj . pathname];if(handleFn){ req . query=pathobj . query;//获取get handleFn(req,res)提交的数据;}else{ //如果找不到字段,则查找静态文件var static path=path . join(_ _ dirname,' act ');var file path=path . join(static path,pathobj . pathname);fs.readFile(文件路径,“二进制”,函数(err,file content){ if(err){ RES . write head(404,“未找到”);res.end('h1404未找到!/h1') }else{ res.writeHead(200,' ok ');res.write(fileContent,‘binary’);RES . end();} });}});server . listen(8080);Console.log('服务器已打开,可以运行http://localhost :8080 ');解析代码:如果你读过我写《构建静态服务器》的朋友,你应该知道。新添加的代码就是这些行。那很简单。
(1)、首先是创建一个routes对象。然后在routes中创建一个名为“/GET”的方法,用于处理GET提交以后提交的数据。后续操作也在这里,比如将数据传输到其他静态页面,或者将数据存储在数据库中,等等。
var routes={ '/get ' : function(req,RES){ RES . setheader(' Content-Type ',' text/plain;charset=utf-8 ');var name=req . query . name;var age=req . query . age;Res.end('姓名为:'姓名'年龄为:'年龄');//RES . end(JSON . stringify(req . query));}} (2)首先,通过pathObj.patnname获取请求链接的url,然后找出路由中是否存在这个“字段”,如果存在,则将这个字段的方法赋给handleFn。最后,通过pathObj.query获取get模式提交的数据,并执行该方法。
//新增加的处理routes的代码varhandlefn=routes[pathobj . pathname];if(handleFn){ req . query=pathobj . query;//获取get handleFn(req,res)提交的数据;}3.运行服务器并在浏览器中打开http://localhost :8080/index 1 . html
单击提交,您将跳转到/get页面。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:node.js处理前端提交的GET请�是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。