При отправки JSON пакета с отдельного HTML файла на Java Spring RestController при помощи jQuery, java выдает предупреждение :
Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported]
При этом все MediaType указаны.
Chrom выдает еще 2 ошибки:
POST http://localhost/post 415
и
Access to XMLHttpRequest at 'http://localhost/post' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Код контроллера:
@RestController
public class mainController {
@RequestMapping(value = "/post", method = RequestMethod.POST,
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})
public ResponseEntity<Object> postUser(@RequestBody User user){
System.out.println(user);
return new ResponseEntity<>("Success", HttpStatus.OK);
}
}
Код jQery:
$(document).ready(function() {
$('#go').on('click', function() {
var user = {
"name" : "Tom",
"age" : 23
};
$.ajax({
url: 'http://localhost/post',
type: 'POST',
dataType: 'json',
data: user
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
});
});
Огромная просьба подсказать где ошибка и как решить подобную проблему?
P.S. Т.К. опыта у меня маловато просьба сказать как пишутся подобные приложения, а именно сперва Backend и потом при помощи Thymeleaf или Mustache шаблонов Front, или же Frontend совсем пишется отдельно как у меня?
$.ajax({
type: 'POST',
url: "http://localhost/post",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(user),
dataType: 'json',
async: true
});
Всем спасибо, разобрался. Надо было поднять HTTP сервер чтобы не было блокировки CORS и подправить MediaType, а именно оставил только produces = {MediaType.APPLICATION_JSON_UTF8_VALUE}.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Мне требуется корректировать данные в некотором TextField непосредственно в процессе вводаЧего конкретно я пытаюсь достичь:
Нуждаюсь в пояснении синтаксиса "системных команд" для параметра метода exec()
Написал самый обычный класс-сущность и столкнулся с проблемой