js怎样获得页面传递参数

JavaScript030

js怎样获得页面传递参数,第1张

//假设浏览器的地址栏是http://www.baidu.com/?id=5&key=655454

//要获取key的值

function getParam( name ) {

    var reg = new RegExp( "[?&]*" + name + "=([^&]*)" )

    var m = document.location.href.match( reg )

    if( m ) {

        return m[ 1 ]

    } else {

        return null

    }

}

getParam( "key" )//655454

首先,是使用原生JS或者jquery开发,需要一个a标签跳转到另一页面,跳转的时候地址栏携带参数,另一个页面获取到参数然后去控制页面。

我这里遇到一个小坑,就是a标签中一开始href我写了路径,结果先去跳转了,没有执行js,后面我就直接加了“#”,然后解决了。

这种接收方法可能只是用于传递一个参数,传递多个的时候应该不适用。

实现前端和后端的参数传递,其实就是前端(页面)向服务器发起一个请求,在请求中附带了一些我们需要的参数。当服务器端接收到这个请求后,通过解析得要我们要传递的参数,这要就达到了我们的目的了。

举两个例子

java我们可以通过:

request.getParameter("xxxx")//xxxx表示参数名称来获取请求参数名称

C#我们可以通过:

GET请求参数用 Request.QueryString,获取POST请求参数用Request.Form

下面讲下POST和GET请求的主要区别:

1、GET请求的数据会附在URL之后(就是 把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连。POST把提交的数据则放置在是HTTP包的包体中。

2、GET方式提交的数据最多只能是1024字节,理论上POST没有限制。

3、POST的安全性要比GET的安全性高。安全的含义是真正的Security的含义,比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么 别人就可以拿到你的账号和密码了。