登陆获取token保存在本地,在请求头添加参数
登陆:
$.ajax({
url : 'http://119.254.155.151:8768/yq/dy/login',// 获取自己系统后台用户信息接口
data :data,
type : "post",
dataType: "json",
success : function(data) {
const token = data.data.token
window.localStorage.setItem('yq_token', token)
}
})
内部页面添加请求头:
var userToken = window.localStorage.getItem("yq_token");
$.ajax({
headers: {
"token":userToken//此处放置请求到的用户token
},
type: "get",
url: "http://119.254.155.151:8768/yq/important/data?schemeId=247248",//请求url
contentType: "application/x-www-form-urlencoded",
success: (data) => {
}
})
链接:https://www.jianshu.com/p/19c9f2c12e80/
Kendo的实现方式
var dataSource = new kendo.data.DataSource({ transport: { read: { url: window.apiRoot + 'accounts', type: " GET", beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', window.auth); } } } });
参考:https://www.telerik.com/forums/databinding-issues-b4f769b5eb8a
localStorage存取值的问题
有一个简单的登录屏幕,用户可以在其中输入任何用户名和密码...输入的值使用 setItem 存储在 localStorage 中。
// Set local storage values localStorage.setItem("Username", username); localStorage.setItem("Password", password); localStorage.setItem("DisplayName", "Woot Woot - " + username ); utils.navigate("#menu-view");
导航到一个不同的屏幕,它有一个 ViewModel 和一个从 localStorage 读取值并将其显示在屏幕上的属性。
define(["kendo"], function (kendo) { return { init: function (initEvt) {}, beforeShow: function (beforeShowEvt) {}, show: function (showEvt) { }, viewModel: kendo.observable({ displayName: localStorage.getItem("DisplayName") }) }; });
有时(大多数情况下)当我导航到第二个屏幕时,这些值没有显示,或者显示的是旧值
viewModel: kendo.observable ({ // ViewModel code displayName: function () { return localStorage.getItem("DisplayName"); } })
问题查询:https://www.telerik.com/forums/databinding-issues-b4f769b5eb8a