Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Hướng dẫn Vue

Vue HOME Vue Giới thiệu Vue Chỉ thị Vue v-bind Vue v-if Vue v-show Vue v-for Vue Sự kiện Vue v-on Vue Methods Vue Event Modifier Vue Forms Vue v-model Vue CSS Binding Vue Tính toán Thuộc tính Vue Watchers Vue Mẫu

Mở rộng quy mô

Vue Tại sao, Cách thức và Thiết lập Trang SFC đầu tiên của Vue Thành phần Vue Đạo cụ Vue Vue v-for Thành phần Vue $emit() Vue Thuộc tính dự phòng Vue Kiểu dáng có phạm vi Vue Thành phần cục bộ Vue Slots Vue v-slot Vue Scoped Slots Vue Thành phần động Vue Teleport Vue Yêu cầu HTTP Mẫu Vue Tham chiếu Vòng đời Vue Móc nối Vue Cung cấp/Tiêm Vue Định tuyến Vue Đầu vào biểu mẫu Vue Vue Animations Vue Animations với v-for Vue Build Vue Composition API

Tham khảo Vue

Thuộc tính tích hợp của Vue Các thành phần tích hợp của Vue Các phần tử tích hợp Vue Ví dụ thành phần Vue Chỉ thị Vue Tùy chọn phiên bản Vue Móc vòng đời Vue

Vue Ví dụ

Ví dụ về Vue Bài tập Vue Vue Quiz Vue Server Chứng chỉ Vue

Yêu cầu HTTP Vue

Yêu cầu HTTP là một phần của giao tiếp giữa máy khách và máy chủ.

Máy khách gửi yêu cầu HTTP đến máy chủ để xử lý yêu cầu và trả về phản hồi HTTP.

HTTP

HTTP là viết tắt của Giao thức truyền tải văn bản Hyper Text ext T.

Trình duyệt của chúng tôi luôn thực hiện các yêu cầu HTTP ở chế độ nền khi chúng tôi duyệt Internet. Khi chúng tôi truy cập một trang Internet, trình duyệt của chúng tôi (máy khách) sẽ gửi một số yêu cầu HTTP để yêu cầu máy chủ gửi cho chúng tôi trang mà chúng tôi muốn với tất cả các tệp và dữ liệu có liên quan dưới dạng phản hồi HTTP.

Các loại yêu cầu HTTP phổ biến nhất là POST , GET , PUT , PATCHDELETE . Tìm hiểu thêm về các loại yêu cầu HTTP khác nhau trên trang Phương thức yêu cầu HTTP của chúng tôi.

Tìm hiểu thêm về HTTP là gì trên trang HTTP là gì của chúng tôi.


Phương pháp 'tìm nạp'

Để lấy dữ liệu từ máy chủ trong Vue, chúng ta có thể sử dụng phương thức fetch() của JavaScript.

Khi sử dụng phương thức fetch() trong hướng dẫn này, chúng ta sẽ không chỉ định phương thức yêu cầu HTTP và điều đó có nghĩa là phương thức yêu cầu mặc định GET là phương thức được sử dụng ở chế độ nền.

Phương thức fetch() yêu cầu một địa chỉ URL làm đối số để nó biết lấy dữ liệu từ đâu.

Dưới đây là một ví dụ đơn giản sử dụng phương thức fetch() để gửi yêu cầu HTTP GET và nhận dữ liệu dưới dạng phản hồi HTTP. Dữ liệu được yêu cầu trong trường hợp này là văn bản bên trong tệp cục bộ file.txt :

Ví dụ

App.vue :

 <template>
  <div>
    <button @click="fetchData">Fetch Data</button>
    <p v-if="data">{{ data }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      data: null,
    };
  },
  methods: {
    fetchData() {
      const response = fetch("file.txt");
      this.data = response;
    }
  }
};
</script>
Chạy Ví dụ »

Trong ví dụ trên, kết quả là chúng ta chỉ nhận được "[object Promise]", nhưng đó không phải là điều chúng ta muốn.

Chúng tôi nhận được kết quả này vì fetch() là một phương thức dựa trên lời hứa trả về một đối tượng lời hứa. Do đó, kết quả trả về đầu tiên mà phương thức fetch() đưa ra chỉ là một đối tượng có nghĩa là yêu cầu HTTP đã được gửi. Đây là trạng thái "đang chờ xử lý".

Khi phương thức fetch() thực sự nhận được dữ liệu chúng ta muốn, lời hứa sẽ được thực hiện.

Để chờ phản hồi được thực hiện, với dữ liệu mong muốn, chúng ta cần sử dụng toán await trước phương thức fetch() :

 const response = await fetch("file.txt");

Khi toán tử await được sử dụng bên trong một phương thức, phương thức đó bắt buộc phải được khai báo bằng toán tử async :

 async fetchData() {
  const response = await fetch("file.txt");
  this.data = response;
}

Toán tử async cho trình duyệt biết rằng phương thức này không đồng bộ, có nghĩa là nó chờ một cái gì đó và trình duyệt có thể tiếp tục thực hiện các tác vụ khác trong khi chờ phương thức hoàn thành.

Bây giờ những gì chúng tôi nhận được là "Phản hồi" chứ không còn chỉ là "Lời hứa", điều đó có nghĩa là chúng tôi đã tiến gần hơn một bước để có được văn bản thực tế bên trong tệp file.txt :

Ví dụ

App.vue :

 <template>
  <div>
    <button @click="fetchData">Fetch Data</button>
    <p v-if="data">{{ data }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      data: null,
    };
  },
  methods: {
    async fetchData() {
      const response = await fetch("file.txt");
      this.data = response;
    }
  }
};
</script>
Chạy Ví dụ »

Để lấy văn bản bên trong file file.txt , chúng ta cần sử dụng phương thức text() trên phản hồi. Vì phương thức text() là phương thức dựa trên lời hứa nên chúng ta cần sử dụng toán tử await ở phía trước nó.

Cuối cùng! Bây giờ chúng ta đã có những gì mình cần để lấy văn bản từ bên trong tệp file.txt bằng phương thức fetch() :

Ví dụ

App.vue :

 <template>
  <div>
    <button @click="fetchData">Fetch Data</button>
    <p v-if="data">{{ data }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      data: null,
    };
  },
  methods: {
    async fetchData() {
      const response = await fetch("file.txt");
      this.data = await response.text();
    }
  }
};
</script>
Chạy Ví dụ »

Tìm nạp dữ liệu từ tệp JSON

Trong ví dụ trước, chúng tôi đã tìm nạp văn bản từ tệp .txt . Nhưng có nhiều cách để lưu trữ dữ liệu và bây giờ chúng ta sẽ xem cách lấy thông tin từ tệp .json .

JSON là một định dạng tệp phổ biến, dễ làm việc vì dữ liệu được lưu trữ dưới dạng văn bản để con người dễ đọc và định dạng JSON cũng được các ngôn ngữ lập trình hỗ trợ rộng rãi, chẳng hạn như chúng ta có thể chỉ định những gì dữ liệu để trích xuất từ ​​tệp .json .

Để đọc dữ liệu từ tệp .json , thay đổi duy nhất chúng ta cần thực hiện đối với ví dụ trên là tìm nạp tệp .json và sử dụng phương thức json() thay vì phương thức text() trên phản hồi.

Phương thức json() đọc phản hồi từ yêu cầu HTTP và trả về một đối tượng JavaScript.

Chúng tôi sử dụng thẻ <pre> ở đây để hiển thị văn bản có định dạng JSON vì nó giữ nguyên khoảng trắng và ngắt dòng để dễ đọc hơn.

Ví dụ

App.vue :

 <template>
  <div>
    <button @click="fetchData">Fetch Data</button>
    <pre v-if="data">{{ data }}</pre>
  </div>
</template>

<script>
export default {
  data() {
    return {
      data: null,
    };
  },
  methods: {
    async fetchData() {
      const response = await fetch("bigLandMammals.json");
      this.data = await response.json();
    }
  }
};
</script>
Chạy Ví dụ »

Vì kết quả của phương thức json() là một đối tượng JavaScript nên chúng ta có thể sửa đổi ví dụ trên để hiển thị một con vật ngẫu nhiên từ tệp bigLandMammals.json :

Ví dụ

App.vue :

 <template>
  <p>Try clicking the button more than once to see new animals picked randomly.</p>
  <button @click="fetchData">Fetch Data</button>
  <div v-if="randomMammal">
    <h2>{{ randomMammal.name }}</h2>
    <p>Max weight: {{ randomMammal.maxWeight }} kg</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      randomMammal: null
    };
  },
  methods: {
    async fetchData() {
      const response = await fetch("bigLandMammals.json");
      const data = await response.json();
      const randIndex = Math.floor(Math.random()*data.results.length);
      this.randomMammal = data.results[randIndex];
    }
  }
};
</script>
Chạy Ví dụ »

Dữ liệu từ API

API là viết tắt của Giao diện lập trình ứng dụng. Bạn có thể tìm hiểu thêm về API tại đây .

Có rất nhiều API miễn phí thú vị mà chúng ta có thể kết nối và sử dụng để lấy dữ liệu thời tiết, dữ liệu sàn giao dịch chứng khoán, v.v.

Phản hồi mà chúng tôi nhận được khi gọi API bằng yêu cầu HTTP có thể chứa tất cả các loại dữ liệu nhưng thường chứa dữ liệu ở định dạng JSON .

Ví dụ

Có thể nhấp vào nút để nhận người dùng ngẫu nhiên từ API Random-data-api.com .

App.vue :

 <template>
  <h1>Example</h1>
  <p>Click the button to fetch data with an HTTP request.</p>
  <p>Each click generates an object with a random user from <a href="https://random-data-api.com/" target="_blank">https://random-data-api.com/</a>.</p>
  <p>The robot avatars are lovingly delivered by <a href="https://Robohash.org" target="_blank">RoboHash</a>.</p>
  <button @click="fetchData">Fetch data</button>
  <pre v-if="data">{{ data }}</pre>
</template>

<script>
  export default {
    data() {
      return {
        data: null,
      };
    },
    methods: {
      async fetchData() {      
        const response = await fetch("https://random-data-api.com/api/v2/users"); 
        this.data = await response.json();
      }   
    }
  };
</script>
Chạy Ví dụ »

Chúng ta có thể sửa đổi ví dụ trước một chút để bao gồm người dùng ngẫu nhiên theo cách thân thiện hơn với người dùng:

Ví dụ

Chúng tôi hiển thị tên người dùng ngẫu nhiên trong thẻ <pre> , cùng với chức danh và hình ảnh công việc khi nhấp vào nút.

App.vue :

 <template>
  <h1>Example</h1>
  <p>Click the button to fetch data with an HTTP request.</p>
  <p>Each click generates an object with a random user from <a href="https://random-data-api.com/" target="_blank">https://random-data-api.com/</a>.</p>
  <p>The robot avatars are lovingly delivered by <a href="https://Robohash.org" target="_blank">RoboHash</a>.</p>
  <button @click="fetchData">Fetch data</button>
  <div v-if="data" id="dataDiv">
    <img :src="data.avatar" alt="avatar">
    <pre>{{ data.first_name + " " + data.last_name }}</pre>
    <p>"{{ data.employment.title }}"</p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        data: null,
      };
    },
    methods: {
      async fetchData() {      
        const response = await fetch("https://random-data-api.com/api/v2/users"); 
        this.data = await response.json();
      },    
    }
  };
</script>

<style>
#dataDiv {
  width: 240px;
  background-color: aquamarine;
  border: solid black 1px;
  margin-top: 10px;
  padding: 10px;
}
#dataDiv > img {
  width: 100%;
}
pre {
  font-size: larger;
  font-weight: bold;
}
</style>
Chạy Ví dụ »

Yêu cầu HTTP trong Vue với Thư viện 'axios'

Thư viện JavaScript 'axios' cũng cho phép chúng ta thực hiện các yêu cầu HTTP.

Để tạo và chạy ví dụ trên máy của riêng bạn, trước tiên bạn cần cài đặt thư viện 'axios' bằng thiết bị đầu cuối trong thư mục dự án của mình, như sau:

npm install axios

Đây là cách chúng ta có thể sử dụng thư viện 'axios' trong Vue để tìm nạp một người dùng ngẫu nhiên:

Ví dụ

Thay vào đó, chỉ những thay đổi nhỏ được thực hiện đối với ví dụ trước để thực hiện yêu cầu HTTP với thư viện 'axios'.

App.vue :

 <template>
  <h1>Example</h1>
  <p>Click the button to fetch data with an HTTP request.</p>
  <p>Each click generates an object with a random user from <a href="https://random-data-api.com/" target="_blank">https://random-data-api.com/</a>.</p>
  <p>The robot avatars are lovingly delivered by <a href="https://Robohash.org" target="_blank">RoboHash</a>.</p>
  <button @click="fetchData">Fetch data</button>
  <div v-if="data" id="dataDiv">
    <img :src="data.data.avatar" alt="avatar">
    <pre>{{ data.data.first_name + " " + data.data.last_name }}</pre>
    <p>"{{ data.data.employment.title }}"</p>
  </div>
</template>

<script>
  import axios from 'axios'

  export default {
    data() {
      return {
        data: null,
      };
    },
    methods: {
      async fetchData() {      
        this.data = await axios.get("https://random-data-api.com/api/v2/users");
      }
    }
  };
</script>

<style>
#dataDiv {
  width: 240px;
  background-color: aquamarine;
  border: solid black 1px;
  margin-top: 10px;
  padding: 10px;
}
#dataDiv > img {
  width: 100%;
}
pre {
  font-size: larger;
  font-weight: bold;
}
</style>
Chạy Ví dụ »


×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .