login.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. const btnLogin = document.querySelector('#btn_login');
  2. const inputPassword = document.querySelector('#login #password');
  3. const btnLoginPage = document.querySelector('.btn-login');
  4. const btnUserProfile = document.querySelector('.btn-userProfile');
  5. const btnLogout = document.querySelector('.btn-logout');
  6. inputPassword.addEventListener('keyup', loginByEnter);
  7. btnLogin.addEventListener('click', login);
  8. function loginByEnter(e) {
  9. if (e.keyCode === 13) {
  10. e.preventDefault();
  11. console.log('login!');
  12. login();
  13. }
  14. };
  15. function login(){
  16. console.log('login!');
  17. var url = "http://www.choozmo.com:8887/login";
  18. var xhr = new XMLHttpRequest();
  19. xhr.open("POST", url);
  20. xhr.setRequestHeader("accept", "application/json");
  21. xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  22. xhr.onreadystatechange = function () {
  23. if (xhr.readyState === 4) {
  24. console.log(xhr.responseText); // test
  25. responseOBJ = JSON.parse(xhr.responseText);
  26. // document.cookie = 'jwt_token='+responseOBJ.jwt_token // access_token -> jwt_token
  27. document.cookie = 'jwt_token='+responseOBJ.access_token;
  28. console.log(responseOBJ);
  29. if (responseOBJ.access_token!=null)
  30. {
  31. Swal.fire({
  32. title: " 登入成功",
  33. icon: 'success',
  34. confirmButtonColor: '#3085d6',
  35. });
  36. window.setTimeout(() => {
  37. window.location.href = 'user_profile.html';
  38. }, 2000);
  39. btnLoginPage.style.display = 'none';
  40. }
  41. else{
  42. Swal.fire({
  43. title: "登入失敗",
  44. icon: 'error',
  45. text: responseOBJ.detail,
  46. confirmButtonColor: '#3085d6',
  47. });
  48. }
  49. }
  50. };
  51. var data = "grant_type=&username=" + $('#username').val() + "&password="+$('#password').val()+"&scope=&client_id=&client_secret=";
  52. result = xhr.send(data);
  53. console.log(result);
  54. }
  55. function loginControl() {
  56. btnLoginPage.style.display = 'block';
  57. btnLogout.style.display = 'none';
  58. btnUserProfile.style.display = 'none';
  59. }
  60. loginControl();