Khi tôi gửi một yêu cầu xóa để một thiết bị đầu cuối nhất định, ví dụ với httpie từ thiết bị đầu cuối nhưKhông thể gửi yêu cầu DELETE với lấy api
http delete http://localhost:8181/admin/applications/uspecs
tôi nhận được một hành vi hợp lệ, như trong { success: true }
như cơ thể phản ứng. Nhưng khi tôi làm
fetch (
'http://localhost:8181/admin/applications/uspecs',
{
method: 'DELETE',
}
)
.then(res => doSomethingWithResponse())
.catch(err => cosole.error(err))
Trong mã javascript, sau đó tôi nhận được một lỗi
Fetch API cannot load http://localhost:8181/admin/applications/uspecs.
Method DELETE is not allowed by Access-Control-Allow-Methods in preflight response.
trên console. Tôi đang thiếu gì? Tôi đang nhận được một danh sách phương pháp hợp lệ trên yêu cầu tùy chọn.
Đọc về chia sẻ tài nguyên gốc (CORS) - http://stackoverflow.com/questions/25845203/understanding-cors. –
Trong phản hồi OPTIONS, tôi nhận được danh sách 'allow: DELETE, HEAD, GET, OPTIONS, POST'. Điều đó nên làm điều đó, phải không? @OndrejSvejdar – nabn
Bạn có thể sử dụng nhà soạn nhạc fiddler để gửi yêu cầu OPTIONS đến điểm cuối và đăng phản hồi bạn đang nhận được hay không. Ngoài ra các bài viết là khó hiểu - đảm bảo các yêu cầu OPTIONS và DELETE được gửi đến cùng một điểm cuối (trong bài viết của bạn khác nhau). Đã cập nhật –