Hướng dẫn how to send delete request from html - cách gửi yêu cầu xóa khỏi html

RFC2616 liệt kê nhiều phương thức ngoài việc nhận và đăng, như, nói, xóa, đặt trường Phương thức trong các hình thức HTML, mặc dù, dường như được phép chỉ định chỉ nhận hoặc đăng.

Có thể tạo một liên kết hoặc biểu mẫu trong trang HTML sử dụng phương thức yêu cầu không nhận hoặc đăng?

Hướng dẫn how to send delete request from html - cách gửi yêu cầu xóa khỏi html

Hỏi ngày 3 tháng 8 năm 2011 lúc 12:33Aug 3, 2011 at 12:33

2

Đã cố gắng tìm ra điều này cho một ứng dụng Rails đang sử dụng góc cạnh ở mặt trước; Chúng dường như hoạt động cho môi trường đó:

<a data-confirm="Are you sure?" data-method="delete" href="/link-to-resource" rel="nofollow">Delete</a>

EDIT: Chỉ để cho mọi người lên đầu, tôi nghĩ bạn vẫn cần phải có jQuery cho việc này để làm việc. Tôi đã loại bỏ jQuery và nó ngừng hoạt động; Tôi đặt nó trở lại và nó bắt đầu hoạt động.

Đã trả lời ngày 9 tháng 2 năm 2016 lúc 3:02Feb 9, 2016 at 3:02

3

Theo mặc định, không có cách nào để làm điều này. Liên kết luôn thực hiện GetS, các biểu mẫu có thể sử dụng hoặc bài đăng.

Điều đó nói rằng, với một chút JavaScript, điều đó là có thể. Rails chẳng hạn, các tàu với người trợ giúp sẽ thêm thuộc tính data-method vào các liên kết. Rails-ujs là một thư viện jQuery sẽ chặn các nhấp chuột một cách minh bạch trên các liên kết này và kích hoạt một biểu mẫu gửi với tham số _method được sử dụng để ghi đè phương thức HTTP thông thường. Cuối cùng Rack sẽ chặn các yêu cầu bằng một thông số _method và ghi đè lên phương thức yêu cầu với giá trị trong _method.

Các khung khác không nghi ngờ theo một mô hình tương tự.

Nếu bạn muốn có thêm chi tiết, tôi đã viết một lời giải thích về cách Rails, Rails-UJ và Rack hoạt động cùng nhau để cung cấp điều này.

Thật tốt khi biết các thư viện của bạn hoạt động như thế nào.

Đã trả lời ngày 17 tháng 5 năm 2016 lúc 17:07May 17, 2016 at 17:07

2

Không thể tạo một liên kết hoặc biểu mẫu với phương thức xóa.

Nhiều khung web tạo ra một đầu vào ẩn gọi là "_method" để xử lý và xóa.

Tôi đã tạo một plugin để tự động chuyển đổi liên kết sang các biểu mẫu: RestfulizerJS

Bạn có thể xem ở đây: https://github.com/ifnot/restfulizerjs

Đã trả lời ngày 19 tháng 2 năm 2014 lúc 14:28Feb 19, 2014 at 14:28

IfnotifnotIfnot

4.7943 huy hiệu vàng31 Huy hiệu bạc47 Huy hiệu đồng3 gold badges31 silver badges47 bronze badges

Plugin @ifnot rất tuyệt nhưng tôi đã tạo một chức năng dựa trên chức năng $.ajax thay vì nối thêm các biểu mẫu hidden! Đây là một ví dụ đơn giản cho yêu cầu DELETE

HTML

<button class="delete" data-target="http://example.com/post/post-id/" data-method="DELETE" data-disabled="true">Delete Article</button>

JavaScript

$(".delete").restintag(optionsObj, function(data) {
    console.log(data);
},
function(error) {
    console.log(error);
});

https://github.com/KhaledElAnsari/RESTInTag/

Đã trả lời ngày 5 tháng 3 năm 2017 lúc 11:07Mar 5, 2017 at 11:07

Hướng dẫn how to send delete request from html - cách gửi yêu cầu xóa khỏi html

Khaled al-Ansarikhaled al-AnsariKhaled Al-Ansari

3,8041 Huy hiệu vàng23 Huy hiệu bạc27 Huy hiệu đồng1 gold badge23 silver badges27 bronze badges

Chỉ cần thêm thuộc tính phương pháp dữ liệu, ________ 10

Đã trả lời ngày 5 tháng 12 năm 2013 lúc 19:03Dec 5, 2013 at 19:03

Hướng dẫn how to send delete request from html - cách gửi yêu cầu xóa khỏi html

4

Trong khi tìm hiểu về các tuyến đường yên tĩnh trong Sinatra và Rails cho Thử thách mã Module 2 của tôi (chủ yếu dựa trên đường ray) và tôi nhớ việc tìm hiểu cách nhận và đăng yêu cầu được truyền tự động thông qua trình duyệt như vậy:

Trong ví dụ này, tôi đã cố gắng điều hành một cơ quan nhận nuôi bò cho người ngoài hành tinh, vì vậy tôi phải tạo ra một con bò. Khi bạn tạo một con bò (Marie), nó là một yêu cầu bài đăng đơn giản.

Khi bạn kiểm tra nút, bạn thấy HTML cơ bản chỉ định phương thức là bài đăng

Khi chúng tôi muốn xóa con bò của mình (a.k.a. đưa nó lên để nhận nuôi), chúng tôi tạo một nút xóa để hoàn thành nó:

Khi chúng tôi một lần nữa nhìn vào HMTL bên dưới trong trình duyệt, nó xuất hiện như một phương thức bài khác. Tuy nhiên, nó có một loại đầu vào ẩn ẩn, trong đó nó vượt qua phương pháp mà chúng ta thực sự muốn như một đầu vào cơ bản.

Nhưng tại sao???? Điều này đi xuống các trình duyệt không cho phép chúng tôi gửi các yêu cầu HTTP bằng bất kỳ động từ nào khác hơn là nhận hoặc đăng. Cách tôi hiểu nó, có hai lý do có thể xảy ra cho nó

  1. Hai phương pháp được hỗ trợ bởi các trình duyệt về cơ bản là một trong hai điều: bạn có thể đọc thông tin (nhận) hoặc viết thông tin (bài đăng). Vì đặt và xóa về cơ bản làm tương tự như bài đăng, về cơ bản chúng là các danh mục phụ của bài đăng, do đó không cần phải hỗ trợ trực tiếp nhiều phương thức hơn trong HTML.
  2. Khi các biểu mẫu HTML ban đầu được tạo, chúng chỉ hỗ trợ nhận và đăng các phương thức. Khi nhu cầu phát sinh cho các phương thức đặt và xóa, các nhà phát triển chỉ cần tạo một công việc xung quanh và chuyển chúng dưới dạng loại phụ của yêu cầu POST. Vì những điều này đã hoạt động cho đến bây giờ (và thực hành tiêu chuẩn khá nhiều) không cần phải tạo ra sự hỗ trợ cho nó, do đó không ai dành thời gian để viết lên các thông số kỹ thuật toàn diện cần thiết cho nó.

Dù bằng cách nào, có vẻ như nó sẽ không thay đổi bất cứ lúc nào sớm.

Nếu bạn muốn đọc thêm về điều này, tôi khuyên bạn nên kiểm tra điều này: https://softwareengineering.stackexchange.com/questions/114156/why-are-there-are-no-put-and-delete-method-on -html-forms

Chúng ta có thể sử dụng phương thức đặt trong HTML không?

Theo tiêu chuẩn HTML, bạn không thể.Các giá trị hợp lệ duy nhất cho thuộc tính phương thức là GET và POST, tương ứng với các phương thức GET và POST HTTP.là HTML không hợp lệ và sẽ được đối xử như, tức là gửi yêu cầu nhận.you can not. The only valid values for the method attribute are get and post , corresponding to the GET and POST HTTP methods.
is invalid HTML and will be treated like , i.e. send a GET request.

HTTP có xóa có cơ thể không?

Theo Mozilla, một yêu cầu xóa "có thể" có một cơ thể, so với một người đặt, nên có một cơ thể.Bằng cách này, có vẻ như tùy chọn cho dù bạn muốn cung cấp một cơ thể cho một yêu cầu xóa.a DELETE request "may" have a body, compared to a PUT, which should have a body. By this it seems optional whether you want to provide a body for a DELETE request.

Phương thức nào thực hiện xóa HTTP *?

Phương thức xóa xóa tài nguyên được chỉ định.Phương thức kết nối thiết lập một đường hầm cho máy chủ được xác định bởi tài nguyên đích.Phương thức tùy chọn mô tả các tùy chọn giao tiếp cho tài nguyên đích.Phương thức Trace thực hiện kiểm tra lại vòng lặp tin nhắn dọc theo đường dẫn đến tài nguyên đích. deletes the specified resource. The CONNECT method establishes a tunnel to the server identified by the target resource. The OPTIONS method describes the communication options for the target resource. The TRACE method performs a message loop-back test along the path to the target resource.

Yêu cầu xóa là gì?

Xóa các yêu cầu được thực hiện để xóa tài nguyên được chỉ định (tệp, bản ghi, v.v.).deleting the specified resource (file, record etc).