如何用js将鉴权信息直接带入 不需要页面登录

JavaScript017

如何用js将鉴权信息直接带入 不需要页面登录,第1张

这个可以通过jQuery框架轻松实现,jQuery中包含多种ajax的请求方式,详细可以参考下对应 的API。

你上面定义的按钮类型是submit,如果是在form当中,将会自动提交当前form表单,建议,如果可能的话将其修改为button类型。

下面给出通过jQuery的$.post方式,异步获取服务器的JSON数据。

功能代码:

<script type="text/javascript">

$(function(){

// 定义存放服务器返回值的变量

var jsonData = null

$('#submitBtn').click(function(){

// 请求的参数

var params = {}

$.post('json.json', params, function(data){

// 这里data就是返回的JSON对象

jsonData = data

alert(jsonData.name)

}, 'json')

})

})

</script>

完整代码:

<html>

<head>

<style>

</style>

<meta http-equiv="Content-Type" content="text/htmlcharset=GBK">

<script type="text/javascript" src="

<script type="text/javascript">

$(function(){

// 定义存放服务器返回值的变量

var jsonData = null

$('#submitBtn').click(function(){

// 请求的参数

var params = {}

$.post('json.json', params, function(data){

// 这里data就是返回的JSON对象

jsonData = data

alert(jsonData.name)

}, 'json')

})

})

</script>

</head>

<body>

<div>

<input type="button" value="提交" id="submitBtn"/>

</div>

</body>

</html>

具体如下:

1.使用session存储,确定用户是否登录,从而确定页面跳转至哪个页面。

判断本地有无customerID:

function jumpTo(p, url) {

var customerId=sessionStorage.customerId

if (customerId == undefined) {

p.attr("href", "page/Login/login.html")

<span style="white-space:pre"> </span>} else {

p.attr("href", url)

}

}

function infoJumpTo() {

var $info = $("#info")

jumpTo($info, "")

}

function starJumpTo() {

var $star = $("#star")

jumpTo($star, "")

}

html中,相应的a标签中,写onclick="infoJumpTo"等就可以。

2.但登录页面的customerID存储到本地的session中

function confirm(){

var tel=$tel.val()//获取页面中登录名和密码

var pwd=$pwd.val()

if(tel==""|| pwd==""){//判断两个均不为空(其他判断规则在其输入时已经判断)

alert("手机号密码均不能为空!")

return false

}else{//以上均符合要求,则调用登录esb接口

$.ajax({

url:config.baseServerUrl + '/account/login',//相对应的esb接口地址

type:'post',

data:{mobile:tel,password:pwd},//向服务器(接口)传递的参数

success:function(data){//服务器(接口)返回来的数据

if(data.success){//如果返回来的信息说明提交的信息为正确的

var customerId = data.attr.customerInfo.id//将数据中用户信息的ID赋值给变量

sessionStorage.customerId = customerId//将变量存储到本地sessionStorage中,并且value为customerID

window.location.href=''//正确登录后页面跳转至

}

else{//如果返回来的信息说明提供的信息为错误的

if(tel != data.tel){//判断是用户名还是密码错误,提示相应信息

alert(data.message)

$tel.val("")

$pwd.val("")

return false

}

if(pwd != data.pwd){

alert(data.message)

$pwd.val("")

return false

}

}

}

})

}

}

3.登录页面,人们一般习惯输完信息后,直接点击enter免除手动点击登录按钮,则js代码如下:

//判断是否敲击了Enter键

$(document).keyup(function(event){

if(event.keyCode ==13){

$("#login").trigger("click")

}

})