Привет, ребята. Я пытаюсь отправить данные JSON методом ajax. В Back-end я написал метод POST для получения данных при нажатии кнопки отправки. Но при нажатии кнопки подтверждения я получаю «HTTP Status 500 - Internal Server Error».
Я проверил с помощью POSTMAN, код работает нормально.
Ниже приведена ошибка, с которой я сталкиваюсьотправка данных.
Статус HTTP 500 - Внутренняя ошибка сервера
Тип исключения Отчет
Message javax.json.stream.JsonParsingException: Unexpected char 97 at (line no=1, column no=2, offset=1), expecting 'u'
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
javax.servlet.ServletException: javax.json.stream.JsonParsingException: Unexpected char 97 at (line no=1, column no=2, offset=1), expecting 'u'\r\n\torg.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:408)\r\n\torg.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)\r\n\torg.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:365)\r\n\torg.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:318)\r\n\torg.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)\r\n\torg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\r\n
Root Cause
javax.json.stream.JsonParsingException: Unexpected char 97 at (line no=1, column no=2, offset=1), expecting 'u'\r\n\torg.glassfish.json.JsonTokenizer.expectedChar(JsonTokenizer.java:583)\r\n\torg.glassfish.json.JsonTokenizer.readNull(JsonTokenizer.java:315)\r\n\torg.glassfish.json.JsonTokenizer.nextToken(JsonTokenizer.java:372)\r\n\torg.glassfish.json.JsonParserImpl$NoneContext.getNextEvent(JsonParserImpl.java:402)\r\n\torg.glassfish.json.JsonParserImpl.next(JsonParserImpl.java:352)\r\n\torg.eclipse.yasson.internal.JsonbRiParser.next(JsonbRiParser.java:140)\r\n\torg.eclipse.yasson.internal.Unmarshaller.getRootEvent(Unmarshaller.java:70)\r\n\torg.eclipse.yasson.internal.Unmarshaller.deserializeItem(Unmarshaller.java:58)\r\n\torg.eclipse.yasson.internal.Unmarshaller.deserialize(Unmarshaller.java:51)\r\n\torg.eclipse.yasson.internal.JsonBinding.deserialize(JsonBinding.java:45)\r\n\torg.eclipse.yasson.internal.JsonBinding.fromJson(JsonBinding.java:85)\r\n\torg.glassfish.jersey.jsonb.internal
Ajax Method Call
$('document').ready(function(){
$("#Submit").click(function ()
{
var AddDetais={
"name":$("#first_name").val(),
"points":parseInt($("#Marks").val())
};
$.ajax({
type:'POST',
url:'http://localhost:8080/StudentDetails/webapi/stduents/Add',
contentType: 'application/json',
data:AddDetais,
dataType:'json',
success:function(data)
{
$("#Student_name").append(data["name"]);
$("#points").append(data["points"]);
},
error: function (error) { // error callback
var errorString=JSON.stringify(error);
alert(error);
$('#Error').append('Error: ' + errorString);
}
});
});
});
API POST Method:
@POST
@Path("Add")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Student setStudent(Student a)
{
System.out.println(" called setStudent");
//repos.setData(a);
return a;
Expected Result
Name: "Henry"
Marks :112