Python yêu cầu onclick

Ví dụ sau sẽ minh họa cách một trang web có thể lấy thông tin từ cơ sở dữ liệu bằng AJAX

Ví dụ

Thông tin cá nhân sẽ được liệt kê ở đây

Giải thích ví dụ - Cơ sở dữ liệu MySQL

Bảng cơ sở dữ liệu chúng tôi sử dụng trong ví dụ trên trông như thế này

idFirstNameLastNameTuổiQuê hươngCông việc1PeterGriffin41QuahogNhà máy bia2LoisGriffin40NewportGiáo viên dạy piano3JosephSwanson39QuahogSĩ quan cảnh sát4GlennVũng lầy41QuahogPhi công

Ví dụ giải thích

Trong ví dụ trên, khi người dùng chọn một người trong danh sách thả xuống ở trên, một hàm có tên "showUser[]" được thực thi

Chức năng được kích hoạt bởi sự kiện onchange

Đây là mã HTML

Ví dụ






      



Thông tin cá nhân sẽ được liệt kê tại đây.


Run example »

giải thích mã

Trước tiên, hãy kiểm tra xem người đó có được chọn không. Nếu không chọn người nào [str == ""], xóa nội dung của txtHint và thoát khỏi chức năng. Nếu một người được chọn, hãy làm như sau

  • Tạo một đối tượng XMLHttpRequest
  • Tạo chức năng sẽ được thực thi khi phản hồi của máy chủ đã sẵn sàng
  • Gửi yêu cầu đến một tệp trên máy chủ
  • Lưu ý rằng một tham số [q] được thêm vào URL [với nội dung của danh sách thả xuống]

Tệp PHP

Trang trên máy chủ được gọi bởi JavaScript ở trên là một tệp PHP có tên "getuser. php"

Mã nguồn trong "getuser. php" chạy truy vấn đối với cơ sở dữ liệu MySQL và trả về kết quả trong bảng HTML

Khởi động nhanh Google Workspace sử dụng các thư viện ứng dụng API để xử lý một số chi tiết của quy trình xác thực và ủy quyền. Chúng tôi khuyên bạn nên sử dụng các thư viện máy khách cho các ứng dụng của riêng mình. Trước khi bạn có thể chạy ứng dụng mẫu, mỗi lần bắt đầu nhanh đều yêu cầu bạn bật xác thực và ủy quyền. Nếu bạn chưa quen với việc xác thực và ủy quyền cho API Google Workspace, hãy đọc phần Tổng quan về xác thực và ủy quyền

Tạo ứng dụng dòng lệnh JavaScript đưa ra yêu cầu đối với API Lịch Google

mục tiêu

  • Thiết lập môi trường của bạn
  • thiết lập mẫu
  • Chạy mẫu

điều kiện tiên quyết

  • Trăn 2. 4 hoặc cao hơn
  • Một dự án Google Cloud
  • Tài khoản Google có bật Lịch Google

Thiết lập môi trường của bạn

Để hoàn thành phần bắt đầu nhanh này, hãy thiết lập môi trường của bạn

Kích hoạt API

Trước khi sử dụng Google API, bạn cần bật chúng trong dự án Google Cloud. Bạn có thể bật một hoặc nhiều API trong một dự án Google Cloud
  • Trong bảng điều khiển Google Cloud, hãy bật API Lịch Google

    Kích hoạt API

Ủy quyền thông tin xác thực cho một ứng dụng web

Để xác thực là người dùng cuối và truy cập dữ liệu người dùng trong ứng dụng của bạn, bạn cần tạo một hoặc nhiều OAuth 2. 0 ID khách hàng. ID ứng dụng khách được sử dụng để xác định một ứng dụng cho máy chủ OAuth của Google. Nếu ứng dụng của bạn chạy trên nhiều nền tảng, bạn phải tạo ID ứng dụng khách riêng cho từng nền tảng
  • Trong bảng điều khiển Google Cloud, đi tới Trình đơn trình đơn > API & Dịch vụ > Credentials.

    Chuyển đến Thông tin xác thực

  • Nhấp vào Tạo thông tin xác thực > ID khách hàng OAuth.
  • Nhấp vào Loại ứng dụng > Ứng dụng web.
  • Trong trường Tên, hãy nhập tên cho thông tin xác thực. Tên này chỉ được hiển thị trong bảng điều khiển Google Cloud
  • Thêm các URI được ủy quyền liên quan đến ứng dụng của bạn
    • Ứng dụng phía máy khách [JavaScript]–Trong Nguồn gốc JavaScript được ủy quyền, hãy nhấp vào Thêm URI. Sau đó, nhập URI để sử dụng cho các yêu cầu của trình duyệt. Điều này xác định các miền mà từ đó ứng dụng của bạn có thể gửi yêu cầu API tới OAuth 2. 0 máy chủ
    • Ứng dụng phía máy chủ [Java, Python, v.v.]–Trong URI chuyển hướng được ủy quyền, hãy nhấp vào Thêm URI. Sau đó, nhập URI điểm cuối mà OAuth 2. 0 máy chủ có thể gửi phản hồi
  • Nhấp vào Tạo. Màn hình đã tạo ứng dụng khách OAuth xuất hiện, hiển thị ID ứng dụng khách mới và Bí mật ứng dụng khách của bạn

    Lưu ý ID khách hàng. Bí mật máy khách không được sử dụng cho các ứng dụng Web

  • Nhấp vào OK. Thông tin đăng nhập mới được tạo xuất hiện trong OAuth 2. 0 ID khách hàng
  • Không bắt buộc. Nếu bạn đang tạo thông tin xác thực làm điều kiện tiên quyết để khởi động nhanh JavaScript, bạn cũng phải
  • Ghi lại những thông tin đăng nhập này vì bạn cần chúng sau này trong phần bắt đầu nhanh này

    thiết lập mẫu

    1. Trong thư mục làm việc của bạn, hãy tạo một tệp có tên index.html
    2. Trong tệp index.html, dán mã mẫu sau

      lịch/khởi động nhanh/chỉ mục. html

      Xem trên GitHub

      
        
          Google Calendar API Quickstart
          
        
        
          

      Google Calendar API Quickstart

      Authorize Sign Out
      
      
          
            /* exported gapiLoaded */
            /* exported gisLoaded */
            /* exported handleAuthClick */
            /* exported handleSignoutClick */
      
            // TODO[developer]: Set to client ID and API key from the Developer Console
            const CLIENT_ID = '';
            const API_KEY = '';
      
            // Discovery doc URL for APIs used by the quickstart
            const DISCOVERY_DOC = '//www.googleapis.com/discovery/v1/apis/calendar/v3/rest';
      
            // Authorization scopes required by the API; multiple scopes can be
            // included, separated by spaces.
            const SCOPES = '//www.googleapis.com/auth/calendar.readonly';
      
            let tokenClient;
            let gapiInited = false;
            let gisInited = false;
      
            document.getElementById['authorize_button'].style.visibility = 'hidden';
            document.getElementById['signout_button'].style.visibility = 'hidden';
      
            /**
             * Callback after api.js is loaded.
             */
            function gapiLoaded[] {
              gapi.load['client', initializeGapiClient];
            }
      
            /**
             * Callback after the API client is loaded. Loads the
             * discovery doc to initialize the API.
             */
            async function initializeGapiClient[] {
              await gapi.client.init[{
                apiKey: API_KEY,
                discoveryDocs: [DISCOVERY_DOC],
              }];
              gapiInited = true;
              maybeEnableButtons[];
            }
      
            /**
             * Callback after Google Identity Services are loaded.
             */
            function gisLoaded[] {
              tokenClient = google.accounts.oauth2.initTokenClient[{
                client_id: CLIENT_ID,
                scope: SCOPES,
                callback: '', // defined later
              }];
              gisInited = true;
              maybeEnableButtons[];
            }
      
            /**
             * Enables user interaction after all libraries are loaded.
             */
            function maybeEnableButtons[] {
              if [gapiInited && gisInited] {
                document.getElementById['authorize_button'].style.visibility = 'visible';
              }
            }
      
            /**
             *  Sign in the user upon button click.
             */
            function handleAuthClick[] {
              tokenClient.callback = async [resp] => {
                if [resp.error !== undefined] {
                  throw [resp];
                }
                document.getElementById['signout_button'].style.visibility = 'visible';
                document.getElementById['authorize_button'].innerText = 'Refresh';
                await listUpcomingEvents[];
              };
      
              if [gapi.client.getToken[] === null] {
                // Prompt the user to select a Google Account and ask for consent to share their data
                // when establishing a new session.
                tokenClient.requestAccessToken[{prompt: 'consent'}];
              } else {
                // Skip display of account chooser and consent dialog for an existing session.
                tokenClient.requestAccessToken[{prompt: ''}];
              }
            }
      
            /**
             *  Sign out the user upon button click.
             */
            function handleSignoutClick[] {
              const token = gapi.client.getToken[];
              if [token !== null] {
                google.accounts.oauth2.revoke[token.access_token];
                gapi.client.setToken[''];
                document.getElementById['content'].innerText = '';
                document.getElementById['authorize_button'].innerText = 'Authorize';
                document.getElementById['signout_button'].style.visibility = 'hidden';
              }
            }
      
            /**
             * Print the summary and start datetime/date of the next ten events in
             * the authorized user's calendar. If no events are found an
             * appropriate message is printed.
             */
            async function listUpcomingEvents[] {
              let response;
              try {
                const request = {
                  'calendarId': 'primary',
                  'timeMin': [new Date[]].toISOString[],
                  'showDeleted': false,
                  'singleEvents': true,
                  'maxResults': 10,
                  'orderBy': 'startTime',
                };
                response = await gapi.client.calendar.events.list[request];
              } catch [err] {
                document.getElementById['content'].innerText = err.message;
                return;
              }
      
              const events = response.result.items;
              if [!events || events.length == 0] {
                document.getElementById['content'].innerText = 'No events found.';
                return;
              }
              // Flatten to string to display
              const output = events.reduce[
                  [str, event] => `${str}${event.summary} [${event.start.dateTime || event.start.date}]\n`,
                  'Events:\n'];
              document.getElementById['content'].innerText = output;
            }
          
          
          
        
      

      Thay thế sau đây

      • YOUR_CLIENT_ID. ID khách hàng mà bạn đã tạo khi bạn
      • YOUR_API_KEY. khóa API mà bạn đã tạo dưới dạng

    Chạy mẫu

    1. Trong thư mục làm việc của bạn, bắt đầu một máy chủ web

      Trăn 2. x

      python -m SimpleHTTPServer 8000
      

      Trăn 3. x

      python3 -m http.server 8000
      

    2. Trong trình duyệt của bạn, điều hướng đến //localhost:8000

    3. Lần đầu tiên bạn chạy mẫu, nó sẽ nhắc bạn cấp quyền truy cập

      1. Nếu bạn chưa đăng nhập vào Tài khoản Google của mình, bạn sẽ được nhắc đăng nhập. Nếu bạn đã đăng nhập vào nhiều tài khoản, hãy chọn một tài khoản để sử dụng để ủy quyền
      2. Nhấp vào Chấp nhận
      3. Sao chép mã từ trình duyệt, dán mã vào dấu nhắc dòng lệnh và nhấn Enter

      Thông tin ủy quyền được lưu trữ trong hệ thống tệp, vì vậy, lần sau khi bạn chạy mã mẫu, bạn sẽ không được nhắc ủy quyền

    Bạn đã tạo thành công ứng dụng JavaScript đầu tiên của mình để yêu cầu API Lịch Google

    Chủ Đề