script_index.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. const btnLogin = document.querySelector('#btn_login');
  2. const inputPassword = document.querySelector('#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. alert('document.cookie = ' + document.cookie); // test
  29. console.log(responseOBJ);
  30. if (responseOBJ.access_token!=null)
  31. {
  32. Swal.fire({
  33. title: responseOBJ.username + " 登入成功",
  34. icon: 'success',
  35. confirmButtonColor: '#3085d6',
  36. });
  37. window.setTimeout(() => {
  38. window.location.href = 'user_profile.html';
  39. }, 2000);
  40. btnLoginPage.style.display = 'none';
  41. }
  42. else{
  43. Swal.fire({
  44. title: "登入失敗",
  45. icon: 'error',
  46. text: responseOBJ.detail,
  47. confirmButtonColor: '#3085d6',
  48. });
  49. }
  50. }
  51. };
  52. var data = "grant_type=&username=" + $('#username').val() + "&password="+$('#password').val()+"&scope=&client_id=&client_secret=";
  53. result = xhr.send(data);
  54. console.log(result);
  55. }
  56. function loginControl() {
  57. btnLoginPage.style.display = 'block';
  58. btnLogout.style.display = 'none';
  59. btnUserProfile.style.display = 'none';
  60. }
  61. loginControl();