Hướng dẫn fetch api post form data javascript - tìm nạp api dữ liệu biểu mẫu bài đăng javascript
API tìm nạp cung cấp giao diện JavaScript để truy cập và thao tác các phần của giao thức, chẳng hạn như yêu cầu và phản hồi. Nó cũng cung cấp một phương thức Show
Loại chức năng này trước đây đã đạt được bằng cách sử dụng 1. Fetch cung cấp một giải pháp thay thế tốt hơn có thể dễ dàng sử dụng bởi các công nghệ khác như 2. Fetch cũng cung cấp một nơi logic duy nhất để xác định các khái niệm liên quan đến HTTP khác như CORS và phần mở rộng cho HTTP.Thông số kỹ thuật 3 khác với 4 theo những cách quan trọng sau:
Một yêu cầu tìm nạp cơ bản thực sự đơn giản để thiết lập. Hãy xem mã sau:
Ở đây chúng tôi đang tìm nạp một tệp JSON trên mạng và in nó vào bảng điều khiển. Việc sử dụng đơn giản nhất 0 có một đối số - đường dẫn đến tài nguyên bạn muốn tìm nạp - và không trực tiếp trả về phần thân phản hồi JSON mà thay vào đó trả về một lời hứa giải quyết với đối tượng 2.Lần lượt, đối tượng 2 không chứa trực tiếp phần thân phản hồi JSON thực tế mà thay vào đó là biểu diễn của toàn bộ phản hồi HTTP. Vì vậy, để trích xuất nội dung cơ thể JSON từ đối tượng 2, chúng tôi sử dụng phương pháp 5, trả về lời hứa thứ hai giải quyết với kết quả phân tích văn bản cơ thể phản hồi là JSON.Lưu ý: Xem phần cơ thể cho các phương pháp tương tự để trích xuất các loại nội dung cơ thể khác. See the Body section for similar methods to extract other types of body content. Các yêu cầu tìm nạp được kiểm soát bởi chỉ thị của chính sách bảo mật nội dung 6 thay vì chỉ thị của các tài nguyên mà nó đang truy xuất.Cung cấp các tùy chọn yêu cầuPhương thức 0 có thể tùy ý chấp nhận tham số thứ hai, đối tượng 8 cho phép bạn kiểm soát một số cài đặt khác nhau:Xem 0 để biết các tùy chọn đầy đủ có sẵn, và nhiều chi tiết hơn.
Lưu ý rằng 0 chỉ cho phép một bộ tiêu đề giới hạn trong yêu cầu:
Gửi yêu cầu với thông tin đăng nhập bao gồmĐể khiến các trình duyệt gửi yêu cầu với thông tin đăng nhập được bao gồm trên cả các cuộc gọi đồng nghĩa và nguồn gốc chéo, hãy thêm 8 vào đối tượng 8 bạn chuyển sang phương thức 0.
Lưu ý: 1 is prohibited from using a wildcard for requests with 8. In such cases, the exact origin must be provided; even if you are using a CORS unblocker extension, the requests will still fail.Lưu ý: Trình duyệt không nên gửi thông tin đăng nhập trong các yêu cầu trước không phân biệt cài đặt này. Để biết thêm thông tin, xem: CORS> Yêu cầu có thông tin đăng nhập. Browsers should not send credentials in preflight requests irrespective of this setting. For more information see: CORS > Requests with credentials. Nếu bạn chỉ muốn gửi thông tin đăng nhập nếu URL yêu cầu có cùng nguồn gốc với tập lệnh gọi, hãy thêm 3.
Thay vào đó, đảm bảo các trình duyệt không bao gồm thông tin đăng nhập trong yêu cầu, hãy sử dụng 4.
Tải dữ liệu JSON lênSử dụng 0 để đăng dữ liệu được mã hóa JSON.
Tải lên một tập tinCác tệp có thể được tải lên bằng phần tử nhập HTML 6, 7 và 0.
Tải lên nhiều tập tinCác tệp có thể được tải lên bằng phần tử nhập HTML 9, 7 và 0.
Xử lý một dòng tệp văn bản từng dòngCác khối được đọc từ một phản hồi không bị phá vỡ gọn gàng ở ranh giới dòng và là uint8arrays, không phải chuỗi. Nếu bạn muốn tìm nạp một tệp văn bản và xử lý từng dòng, tùy thuộc vào bạn để xử lý các biến chứng này. Ví dụ sau đây cho thấy một cách để làm điều này bằng cách tạo một trình lặp dòng (để đơn giản, nó giả sử văn bản là UTF-8 và không xử lý các lỗi tìm nạp).
Kiểm tra xem việc tìm nạp có thành công khôngLời hứa 0 sẽ từ chối với 3 khi gặp lỗi mạng hoặc CORS bị cấu hình sai ở phía máy chủ, mặc dù điều này thường có nghĩa là các vấn đề về quyền hoặc tương tự-ví dụ, 404 không cấu thành lỗi mạng. Một kiểm tra chính xác cho một 0 thành công sẽ bao gồm kiểm tra xem lời hứa đã được giải quyết, sau đó kiểm tra xem thuộc tính 5 có giá trị đúng không. Mã sẽ trông giống như thế này:
Cung cấp đối tượng yêu cầu của riêng bạnThay vì chuyển đường dẫn đến tài nguyên bạn muốn yêu cầu vào cuộc gọi 0, bạn có thể tạo một đối tượng yêu cầu bằng Trình xây dựng 7 và chuyển nó trong đối số phương thức 0: 0 7 chấp nhận chính xác các tham số giống như phương thức 0. Bạn thậm chí có thể chuyển trong một đối tượng yêu cầu hiện có để tạo một bản sao của nó: 1Điều này khá hữu ích, vì các cơ quan yêu cầu và phản hồi chỉ có thể được sử dụng một lần. Tạo một bản sao như thế này cho phép bạn sử dụng hiệu quả yêu cầu/phản hồi một cách hiệu quả trong khi thay đổi các tùy chọn 8 nếu muốn. Bản sao phải được thực hiện trước khi cơ thể được đọc.Lưu ý: Ngoài ra còn có một phương thức 2 method that creates a copy. Both methods of creating a copy will fail if the body of the original request or response has already been read, but reading the body of a cloned response or request will not cause it to be marked as read in the original.Giao diện 3 cho phép bạn tạo đối tượng tiêu đề của riêng mình thông qua hàm tạo 4. Đối tượng tiêu đề là một bản đồ đơn giản của các tên thành các giá trị: 2Điều tương tự có thể đạt được bằng cách chuyển một mảng mảng hoặc một đối tượng theo nghĩa đen cho hàm tạo: 3Nội dung có thể được truy vấn và truy xuất: 4Một số trong các hoạt động này chỉ hữu ích trong 5, nhưng chúng cung cấp API đẹp hơn nhiều để thao tác các tiêu đề.Tất cả các phương thức tiêu đề đều ném 3 nếu tên tiêu đề được sử dụng không phải là tên tiêu đề HTTP hợp lệ. Các hoạt động đột biến sẽ ném 3 nếu có một người bảo vệ bất biến (xem bên dưới). Nếu không, họ thất bại trong âm thầm. Ví dụ: 5Một trường hợp sử dụng tốt cho các tiêu đề là kiểm tra xem loại nội dung có đúng hay không trước khi bạn xử lý nó hơn nữa. Ví dụ: 6Bảo vệVì các tiêu đề có thể được gửi trong các yêu cầu và nhận được trong các câu trả lời và có những hạn chế khác nhau về những thông tin nào có thể và nên được thay đổi, các đối tượng tiêu đề có một tài sản bảo vệ. Điều này không được tiếp xúc với web, nhưng nó ảnh hưởng đến các hoạt động đột biến nào được cho phép trên đối tượng tiêu đề. Giá trị bảo vệ có thể là:
Lưu ý: Bạn không được nối hoặc đặt tiêu đề 7 header on a guarded headers object for a 4. Similarly, inserting 9 into a response header is not allowed: ServiceWorkers are not allowed to set cookies via synthesized responses.Đối tượng phản hồiNhư bạn đã thấy ở trên, các trường hợp 2 được trả lại khi các lời hứa 0 được giải quyết.Các thuộc tính phản hồi phổ biến nhất bạn sẽ sử dụng là:
Chúng cũng có thể được tạo theo chương trình thông qua JavaScript, nhưng điều này chỉ thực sự hữu ích trong 5, khi bạn đang cung cấp phản hồi tùy chỉnh cho yêu cầu nhận được bằng phương thức 6: 7Chất xây dựng 7 có hai đối số tùy chọn - một phần thân cho phản hồi và một đối tượng init (tương tự như 7 chấp nhận.)Lưu ý: Phương thức tĩnh 9 returns an error response. Similarly, 00 returns a response resulting in a redirect to a specified URL. These are also only relevant to Service Workers.Thân hìnhCả hai yêu cầu và phản hồi có thể chứa dữ liệu cơ thể. Một cơ thể là một ví dụ của bất kỳ loại nào sau đây:
Giao diện 09 và 2 chia sẻ các phương pháp sau để trích xuất cơ thể. Tất cả đều trả lại một lời hứa cuối cùng được giải quyết với nội dung thực tế.
Điều này làm cho việc sử dụng dữ liệu phi văn bản dễ dàng hơn nhiều so với XHR. Các cơ quan yêu cầu có thể được đặt bằng cách truyền các tham số cơ thể: 8Cả yêu cầu và phản hồi (và bằng cách mở rộng hàm 0), sẽ cố gắng xác định thông minh loại nội dung. Yêu cầu cũng sẽ tự động đặt tiêu đề 4 nếu không có được đặt trong từ điển.Phát hiện tính năngHỗ trợ API tìm nạp có thể được phát hiện bằng cách kiểm tra sự tồn tại của 3, 09, 2 hoặc 0 trên phạm vi 27 hoặc 28. Ví dụ: 9Thông số kỹ thuật
Tính tương thích của trình duyệt webBảng BCD chỉ tải trong trình duyệt Xem thêmLàm cách nào để sử dụng API tìm nạp để đăng dữ liệu?Yêu cầu đăng bằng API tìm nạp: Để thực hiện yêu cầu POST Chúng tôi cần chỉ định các tham số bổ sung với yêu cầu như phương thức, tiêu đề, v.v. . Sau đó, nó sẽ trả về cùng một nội dung bài viết bằng một ID.To do a POST request we need to specify additional parameters with the request such as method, headers, etc. In this example, we'll do a POST request on the same JSONPlaceholder and add a post in the posts. It'll then return the same post content with an ID.
Có thể tìm nạp API được sử dụng cho bài đăng?API tìm nạp đi kèm với phương thức Fetch () cho phép bạn tìm nạp dữ liệu từ tất cả các địa điểm khác nhau và làm việc với dữ liệu được tìm nạp.Nó cho phép bạn thực hiện yêu cầu HTTP, tức là, yêu cầu GET (để nhận dữ liệu) hoặc yêu cầu đăng (cho dữ liệu đăng).POST request (for posting data).
Làm thế nào lấy dữ liệu tìm nạp từ JavaScript?Phương thức serializeArray () tạo ra một mảng các đối tượng (tên và giá trị) bằng cách nối tiếp các giá trị biểu mẫu.Phương pháp này có thể được sử dụng để có được dữ liệu biểu mẫu.Tham số: Nó không chấp nhận bất kỳ tham số nào.Giá trị trả về: Nó trả về tất cả các giá trị bên trong các trường đầu vào.. This method can be used to get the form data. Parameter: It does not accept any parameter. Return Value: It returns all the value that is inside the inputs fields.
Làm thế nào để bạn thực hiện một cuộc gọi API bài đăng trong JavaScript?Chuyển dữ liệu cho yêu cầu POST // Dữ liệu được gửi đến yêu cầu POST LET _DATA = {Tiêu đề: "Foo", Body: "Bar", UserID: 1} Fetch ('https://jsonplaceholder.typicode.com/posts', {Phương thức: "Post", Body: Json. Stringify (_Data), tiêu đề: {"loại nội dung": "application/json; charaTeSt = utf-8"}}).Sau đó (Phản hồi => Phản hồi. |