Professional Documents
Culture Documents
1. HTTP :
HTTP là các giao thức giữa client và server theo cặp request - response :
- Client gửi HTTP request đến Server
- Server nhận Request -> thực hiện xử lí Request
- Server trả về HTTP Response đến client
Các giao thức này chứa các văn bản thô mà từ đó máy tính có thể diễn giải thành các hành động, nội dung, ...
Các loại Request HTTP :
GET : Lấy dữ liệu từ Server
POST : Gửi dữ liệu đến Server để tạo mới một tài nguyên
PUT : Gửi dữ liệu đến Server để cập nhật tài nguyên đã có
DELETE: Xoá tài nguyên
2. API là gì :
API - Application Programming Interface. Là một phần trung gian phần mềm cho phép 2 ứng dụng trao đổi dữ liệu với
nhau.
Ví dụ với API ta có thể truy xuất dữ liệu để chuyển đổi chúng thành các nội dung trên trang web để hiển thị.
Ví dụ :
js
1 $.ajax({
2 url: "http://localhost:1337/api/thong-tin-saches/?populate=*",
3 method: "GET",
4 success: function (data) {
5 console.log("Data Loaded Successfully");
6 toTable(data["data"]);
7 },
8 error: function (err) {
9 console.log("Error loading data: ", err);
10 },
11 });
2.3.1. GET :
Khi sử dụng ajax với phương thức GET, cú pháp sẽ tương tự như ở trên
2.3.2. POST :
Khi ta sử dụng với POST, ta cần truyền thêm một thuộc tính là data . Thuộc tính này sẽ chứa dữ liệu mà người dùng
muốn gửi tới Server. Ngoài ra, ta cần phải đảm bảo truyền đúng kiểu dữ liệu và cấu trúc dữ liệu mà Server yêu cầu.
Ví dụ :
$.ajax({
url: "http://localhost:1337/api/thong-tin-saches/?populate=*",
method: "POST",
contentType: "application/json",
data: JSON.stringify({
data: {
maSach: maSach,
tenSach: tenSach,
tenTacGia: tenTacGia,
the_loai: {
id: theLoai,
},
namXuatBan: namXuatBan,
},
}),
2.3.3. PUT :
Đối với PUT, ta cũng cần phải truyền thêm thuộc tính data . Ngoài ra còn phải chỉ rõ ra phần tử cần thay đổi thông
tin. Như trong ví dụ trên, POST được sử dụng để tạo một tài nguyên mới nên sẽ truy cập đến toàn bộ thông tin. Còn
trong ví dụ dưới, PUT sẽ cập nhật đến một tài nguyên được chỉ định :
$.ajax({
url:
"http://localhost:1337/api/thong-tin-saches/" +
id +
"?populate=*",
method: "PUT",
contentType: "application/json",
data: JSON.stringify({
data: {
maSach: maSach,
tenSach: tenSach,
tenTacGia: tenTacGia,
the_loai: {
id: theLoai,
},
namXuatBan: namXuatBan,
},
})
2.3.4. DELETE :
Tương tự PUT, vì ta cần xoá một tài nguyên nhất định, nên ta cũng cần chỉ định ra phần tử. Khi này, ta không cần phải
truyền vào dữ liệu nào nữa nên không cần data :
$.ajax({
url: "http://localhost:1337/api/thong-tin-saches/" + id,
method: "DELETE",
success: function () {
console.log("Data Deleted Successfully");
loadTable();
toast("Xoá sách thành công");
},
error: function (err) {
console.log("Error deleting data: ", err);
toast("Xoá sách thất bại");
},
});
3.2. Cập nhật thông tin của Server thông qua API :
$(document).ready(function () {
$.ajax({
url: "http://localhost:1337/api/thong-tin-saches/?populate=*",
method: "POST",
contentType: "application/json",
data: JSON.stringify({
data: {
maSach: "masach3",
tenSach: "tenSach1",
tenTacGia: "tacgia1",
namXuatBan: "2024",
},
}),
success: function () {
console.log("Update successfully");
},
error: function (err) {
console.log(err);
}
})
})
$(document).ready(function () {
$.ajax({
url:
"http://localhost:1337/api/thong-tin-saches/" +
15 +
"?populate=*",
method: "DELETE",
contentType: "application/json",
data: JSON.stringify({
data: {
maSach: "maSachMoi",
tenSach: "tenSachMoi",
tenTacGia: "tenTacGiaMoi",
namXuatBan: "2023",
}
}),
success: function () {
console.log("Modify successfully");
}
error: function (err) {
console.log(err);
}
})
})
$(document).ready(function () {
$.ajax({
url: "http://localhost:1337/api/thong-tin-saches/" + 131,
method: "DELETE",
success: function () {
console.log("Delete success");
},
error: function (err) {
console.log(err);
}
})
})