У меня проблема с корсами. Я хотел бы вызвать конечную точку, которая находится в другом домене1 (не может измениться на https) из другого домена2.
Возможно ли это?
У меня есть эта ошибка:
> Access to XMLHttpRequest at
> 'http://192.168.1.140:8090/app1/auth/login' from origin 'http://app2'
> has been blocked by CORS policy: Response to preflight request doesn't
> pass access control check: No 'Access-Control-Allow-Origin' header is
> present on the requested resource
Приложение 1: vuejs с топором ios
axios
.post('/auth/login', {
username: username,
password: password
})
Приложение 2: java с майкой
Обновлено 19/03 15: 40:
@OPTIONS
@Path("/login")
public Response login() {
return Response.status(200).header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "POST, GET, PUT, UPDATE, OPTIONS")
.header("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With")
.build();
}
@POST
@Consumes("application/x-www-form-urlencoded")
@Produces("application/json")
@Path("/login")
public Response login(@FormParam("username") String username, @FormParam("password") String password) {
return Response
.status(200)
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "POST, GET, PUT, UPDATE, OPTIONS")
.header("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With")
.build();
}
Обновлено 19/03 16: 08
Я удалил две строки в vuejs
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
window.axios.defaults.headers.common['Authorization'] = 'Bearer ' + localStorage.token;
Теперь это работает Но как я могу вызвать конечную точку http из https ?
Спасибо