Token Login Jquery Simple Example

Token Jquery HTML Login localStorage

<!DOCTYPE html>
<html lang="zh-TW">
<head>
 <meta charset="UTF-8">
 <title>JWT 登入範例</title>
 <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
 <h2>登入</h2>
 <label>帳號:<input type="text" id="Account" /></label><br/>
 <label>密碼:<input type="password" id="password" /></label><br/>
 <button id="loginBtn">登入</button>

 <hr/>

 <h2>歡迎區</h2>
 <div id="welcome"></div>
 <button id="getProfileBtn">取得資料</button>

 <script>
  const apiBase = 'https://localhost:1234';

  // 登入範例
  $('#loginBtn').click(function () {
   const Account = $('#Account').val();
   const password = $('#password').val();

   $.ajax({
    url: apiBase + '/Api/account/Login',
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify({ Account, password }),
    success: function (res) {
     if (res.status === 0) {
      const token = res.data.accessToken;
      const name = res.data.userName;
      const userId = res.data.userId;

      localStorage.setItem('token', token);
      localStorage.setItem('userName', name);
      localStorage.setItem('userId', userId);

      $('#welcome').text('歡迎您,' + name + '(ID: ' + userId + ')');
     } else {
      alert('登入失敗:' + res.description);
     }
    },
    error: function () {
     alert('API 請求失敗');
    }
   });
  });

  // 取資料範例
  $('#getProfileBtn').click(function () {
   const token = localStorage.getItem('token');

   if (!token) {
    alert('請先登入');
    return;
   }

   $.ajax({
    url: apiBase + '/Api/Aaa/Bbb',
    type: 'GET',
    headers: {
     Authorization: 'Bearer ' + token
    },
    success: function (res) {
     alert('取得個人資料成功:' + JSON.stringify(res));
    },
    error: function () {
     alert('Token 可能已過期或無效');
    }
   });
  });
 </script>
</body>
</html>

我只是一棵樹