01/10/2018, 08:53

Cần giúp config

Mình đang làm 1 project.

Về server thì dùng Spring mvc cung cấp api cho client và server chạy port 8000
Về client thì mình dùng angular 2 vs webpack chạy port 8080

Vấn đề mình gặp phải. Khi client đọc hàm api /Get thì đọc đươc data do server bắn về. Còn khi client gửiPost`
thì do việc khác port 8000 và 8080 nên data không thấy gửi được về cho client.

Ai có thể giúp mình config giúp mình làm sao để có thể gửi post về server không ạ? hoặc có thể chỉ điểm cho mình với ạ. Mình xin cám ơn …

`

Demon Hunter viết 11:03 ngày 01/10/2018

Khác port thì chỉ có thể là bị cross domain nhưng mà bạn get được thì ko phải Cors. Có thể là server bạn đang setting RequestMapping với phương thức là GET. Cho mình xem controller của bạn hoặc thông tin lỗi báo thế nào.

Tạ Duy Hoàng viết 10:56 ngày 01/10/2018

Đúng là do bị cors khi gửi post. GET nó vẫn cho đọc bình thường, Còn đâu sẽ phải config cors hết. Hix
Mình đọc tài liệu thấy nó ns vậy
Mình đã fix cors cho phía server và đã ngon. Nhưng mình làm angular 2 thấy nếu project mình run trỏ index vào file build của client thì sẽ không phải cors nữa. Còn nếu client và server độc lập thì đúng là phải config cors
public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**"); }
Cảm ơn câu trả lời của bạn nhé…!!!

Demon Hunter viết 11:05 ngày 01/10/2018

Nhưng mình làm angular 2 thấy nếu project mình run trỏ index

POST, HEAD, GET đều cors hết chứ, cho mình xem tài liệu bạn đọc. Dĩ nhiên là cùng server thì sẽ ko bị cross rồi, chỗ này bạn vẫn chưa hiểu ý nghĩa của Cross Domain rùi.

Tạ Duy Hoàng viết 10:55 ngày 01/10/2018

Mình thấy nếu điều hướng về cùng 1 luồng server thì đúng là không cần cors. Mình đọc biết qua về việc phải cors. Nhưng GET thì vẫn đọc được, với url = “port server + api”. Việc mình trỏ vào file index buid của client là
Client mình vẫn chạy port 8080, server vẫn chạy port 8000. Và việc data của nó gửi và nhận sẽ k cần cors nữa.

Bài liên quan
0