Asked Jun 1st, 6:07 AM 51 1 1
  • 51 1 1
+2

Xử lý dữ liệu trên Web App hay Web API

Share
  • 51 1 1

Xin chào mọi người.

Hiện tại mình đang phát triển 2 app. 1 là web app có GUI giao tiếp với end user và một là web api nhận request rồi trả data. Chỉ có Web API là được giao tiếp và lấy dữ liệu từ DB.

Trên web app thì khi user mở một page thì mình đã lấy toàn bộ dữ liệu cho trang cho đó và hiển thị ra. Trên màn hình có các select với các option thì khi mà option thay đổi(do người dùng thay đổi) thì dữ liệu cũng được thay đổi theo.

Mình đang có ý là sử dụng Ajax để mỗi khi người dùng thực hiện thay đổi select thì sẽ tạo một request tới web app sau đó wep app lại tiếp tục tạo một request tới web api để lấy dữ liệu trả về rồi hiển thị.

Nhưng nếu làm vậy thì mình cũng hiểu sẽ có độ trễ nhất định. Mình muốn hỏi là có thể làm gì với cái dữ liệu ban đầu khi mà user mở page đó. lưu lại web app chờ user gửi một ajax request hay làm như mình nghĩ ở trên là tạo một request tới api để lấy dữ liệu.

Ai có cao kiến gì chỉ mình với ạ.

Mình cảm ơn ạ.

Jun 1st, 11:54 PM

Ý bạn là mọi muốn cái ô select người dùng có thể search, khi nhập từ khóa thì sẽ gọi API qua AJAX để lấy kết quả tìm kiếm và hiển thị lại vào mục select/option phải không nhỉ?

0
| Reply
Share
T Dung @thuydungtrinh
Jun 2nd, 1:39 AM

@huukimit không phải là ô select có thể search mà là lựa chọn. Ví dụ có 2 select. khi mà select đầu tiên thay đổi thì select thứ 2 sẽ dựa trên lựa chọn của select đầu tiên mà lấy dữ liệu rồi hiển thị ra.

Gọi qua Ajax để lấy dữ liệu từ server. Nhưng như hệ thống của mình là có 2 server. Một là Server web là cái web để mình lựa chọn ô select đó. Một server khác là Server API chuyên dùng để lấy dữ liệu trả về.

Khi mở trang từ lần đầu tiên mình đã lấy toàn bộ những dữ liệu cần thiết từ Server API ở Server Web rồi. Nhưng dữ liệu đó không được lưu lại tại server(hiện tai là vậy). Khi mà người dùng lựa chọn ở ô select khác phải gọi Ajax tới cái Server Web để lấy dữ liệu cần thiết. Nhưng Server Web không có dữ liệu ấy và lại phải request tới Server API để lấy. Nhưng như vậy hơi mất thời gian.

Nên mình muốn từ lần đầu tiên(từ cái lần mở trang ấy) có thể làm gì với dữ liệu lần đầu đó: (lưu tại Server Web thì chắc không ổn) để mà khi người dùng lựa chọn select khác nhau ở ô 1 mà ô select thứ 2 không cần request 2 lần tới Web API để lấy dữ liệu mà vẫn có được dữ liệu mong muốn.

0
| Reply
Share
Jun 2nd, 3:34 AM

@thuydungtrinh

Khi mà người dùng lựa chọn ở ô select khác phải gọi Ajax tới cái Server Web để lấy dữ liệu cần thiết. Nhưng Server Web không có dữ liệu ấy và lại phải request tới Server API để lấy. Nhưng như vậy hơi mất thời gian.

API server là của bên bạn làm hay là 3rd party nhỉ? Có thể làm cho phía browser gọi thẳng vào API mà ko phải qua web nữa thì ngon. Nếu của 3rd mà có phải cần API-Key / secret key thì sẽ không khả thi vì API-Key ko được set dưới browser. Mà vẫn sẽ phải gửi request gián tiếp qua web server như bạn bảo thôi.

0
| Reply
Share

1 ANSWERS


Answered Jun 2nd, 1:38 AM
+1

tìm hiểu thêm về cache đi bạn

Share