• 前端登陆获取保存token再添加到请求头中


    登陆获取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

  • 相关阅读:
    Java中String的intern方法
    3.7测试复盘
    3.6测试复盘
    LTMU论文解析
    移动机器人相机模型:从相机移动到二维图像
    一步步分析MIPS数据通路(单周期)
    Slam笔记I
    如何理解SiamRPN++?
    如何使用Pytorch迅速写一个Mnist数据分类器
    PySide2的This application failed to start because no Qt platform plugin could be initialized解决方式
  • 原文地址:https://www.cnblogs.com/djd66/p/16850472.html
Copyright © 2020-2023  润新知