不管是html还是js,都是无法获取form表单{method(post或者get)}传递的参数的,
通过表单传递的参数都是要服务器端语言来获得,如asp.net,php,java等语言编写的程序可以获得页面端传过来的值
可以通过解析url路径,获取参数:
function getURLParameter(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&]+?)(&|#||$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
}
var orgid = getURLParameter('orgid')
var orglevel = getURLParameter('orglevel')
console.log('orgid='+orgid)
console.log('orglevel='+orglevel)
扩展资料
html中通过url地址传参及获取参数:
var url = document.location.toString()//获取url地址
var urlParmStr = url.slice(url.indexOf('?')+1)//获取问号后所有的字符串
var arr = urlParmStr.split('&')//通过&符号将字符串分割转成数组
var courseId = arr[0].split("=")[1]//获取数组中第一个参数
var unit_title=arr[1].split("=")[1]//第二个参数
unit_title=decodeURI(unit_title)//转码将解码方式unscape换为decodeURI,将中文参数获取
console.log(unit_title)
首先获取http,并创建一个web服务,监听本地端口1337,这个可以修改,任何未被占用的端口都可以用,并坚挺data事件和end事件,整个文件保存为app.js
写一个html5网页,这个网页中的内容如下面所示,目标是获取这个表单中的name 和age数据,action是服务器地址和端口,文件名index.html
可以用浏览器来打开这个端口,如下图中所示,对浏览器无要求,基本上常用的浏览器都可以打开
在命令行中运行服务,node app.js,然后在第三步中的html页面上点击提交按钮。这时命令行中的显示如下,这样就得到了表单中post的数据,完成了html中数据从前端到后台的过程
同时 网页跳到如下所示
下面这里贴上测试代码
////////////////app.js///////
var http = require('http')
var server = http.createServer(function(req,res){
if(req.url!=="/favicon.ico"){
req.on('data',function(data){
console.log("服务器接收到的数据: "+decodeURIComponent(data))
})
req.on("end",function(){
console.log('客户端请求数据全部接收完毕')
})
}
res.end()
}).listen(1337,"localhost",function(){
console.log("listened")
})
////////////////index.html///////
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Nodejs的data事件与end事件的回调函数测试用页面</title>
</head>
<body>
<form id= "form1" action = "http://localhost:1337/" method = "post">
姓名:<input type = 'text' name = "name" value ="dragon"><br/>
年龄:<input type = "number" name = "age" value ="25">
<input type = "submit" value =" 提交"/>
</form>
</body>
</html>