Я пытаюсь использовать API выборки ES6 для отправки некоторых данных входа на сервер Java Spark. Запросы GET работают отлично, но когда я пытаюсь выполнить POST, Promise на стороне клиента остается «ожидающим». Я проверил, и сервер получает тело запроса и анализирует его на объект. Используя почтальон, он также возвращает true или false, поэтому я думаю, что что-то не так с настройкой CORS. Я новичок в этом, поэтому я просто пропустил * через, думая, что это должно сработать. Я использую VueJS, но я не думаю, что это действительно имеет значение, подумал, что добавлю эту информацию, может быть, это поможет. Код выложу ниже.
JS:
methods: {
login: function () {
data = '"perfectly valid json string"'
this.postData('http://te.st/login', data)
},
postData: function(url, data){
return fetch(url, {
body: data,
method: 'POST',
})
.then(response => response.json())
.then(function (result){
app.response = result
})
}
}
Ява:
private static void enableCORS(final String origin, final String methods, final String headers) {
options("/*", (request, response) -> {
String accessControlRequestHeaders = request.headers("Access-Control-Request-Headers");
if (accessControlRequestHeaders != null) {
response.header("Access-Control-Allow-Headers", accessControlRequestHeaders);
}
String accessControlRequestMethod = request.headers("Access-Control-Request-Method");
if (accessControlRequestMethod != null) {
response.header("Access-Control-Allow-Methods", accessControlRequestMethod);
}
return "OK";
});
before((request, response) -> {
response.header("Access-Control-Allow-Origin", origin);
response.header("Access-Control-Request-Method", methods);
response.header("Access-Control-Allow-Headers", headers);
response.type("application/json");
});
}
(в коде обозначается как enableCORS("*","GET,POST","Origin, Content-Type, Access-Control-Allow-Origin");)
И конечная точка:
post("/login", (req, res) -> {
boolean ret = dao.checkLogin(gson.fromJson(req.body(), User.class));
return gson.toJson(ret);
});
Извините, это была опечатка. Я отправляю сообщение в / login



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Похоже, вы отправляете сообщение на
http://te.st, но сервер слушает/login. Разве вы не должны писать наhttp://te.st/login?