Tôi gặp vấn đề với CORS trong khởi động mùa xuân. Tôi đã định cấu hình CORS như thế nàyKhởi động mùa xuân và CORS
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**");
}
}
mà tôi cho phép cho phép tất cả tiêu đề và nội dung khác.
Nó hoạt động xuất sắc với yêu cầu GET
$.get("someUrl, function(data, status){
console.log(data[0].latitude);
});
Nhưng bất cứ khi nào tôi thực hiện yêu cầu POST như thế này
$.ajax({
url: 'someUrl',
type: 'post',
dataType: 'json',
crossDomain: true,
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
},
data: object
});
tôi nhận được sau
OPTIONS XHR "someUrl" [HTTP/1.1 403 Forbidden 4ms]
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at "someUrl".
(Reason: CORS header 'Access-Control-Allow-Origin' missing).
Làm thế nào tôi có thể giải quyết vấn đề này?
Dù nó là gây ra vấn đề, tôi không nghĩ rằng đó là trong các đoạn bạn đã đăng trong câu hỏi. Tôi chỉ thử nó trên một khởi động mùa xuân tươi (1.3.2.) Thiết lập với một số tiền tối thiểu của mã và các tiêu đề CORS được thêm chính xác khi tôi 'POST' từ các lĩnh vực khác. Bạn đang sử dụng phiên bản Boot nào và từ tác nhân người dùng nào bạn 'POST' yêu cầu của bạn? Có thể phụ thuộc khác trong dự án của bạn ghi đè lên các thiết lập Cors của bạn (hoặc có thể cấu hình rõ ràng hơn trên bộ điều khiển?)? – sthzg
Tôi sử dụng Spring Boot 1.3.0.RELEASE và tác nhân người dùng là Firefox. Trên thực tế nó là ứng dụng Api-gateway chuyển hướng đến các thiết bị đầu cuối khác của các ứng dụng khởi động mùa xuân khác. Tôi sử dụng Zuul từ netflix. – nurgasemetey