Использование веб-службы в фоновом режиме HTML

У меня есть веб-сервис и html-страница, и я хочу вычислить два значения и показать на третьем текстовом поле, но этот код показывает меня на следующей странице. Кто-нибудь помогите мне для моего FYP.

Мой индекс.формат html

<!DOCTYPE html>

<html>
<head>
    <title>TO supply a title</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
 <h1>JAX-RS</h1>

<form action="http://localhost:8080/ConnectingToNode/webapi/myresource?ID"                                   method="post" target="_self">
    <p>
        Number1 : <input type="text" name="number1" />
    </p>
    <p>
        Number2 : <input type="text" name="number2" />
    </p>
    <p>
        Number3 : <input type="text" name="number3" />
    </p>


    <input type="submit" value="Add" />
            <p>
        Total : <input type="text" name="number3" />
    </p>
</form>
</body>
</html>

Мой веб-сервис

@Path("myresource")
public class MyResource{
HashMap<String, String> map= new HashMap<String, String>();

@POST
@Produces(MediaType.TEXT_PLAIN)
public Response addNumber(
        @FormParam("number1") int number1,
        @FormParam("number2") int number2
        ) {
    int total=number1+number2;
    return Response.status(200).entity("Total : "  +  total).build();        

}
}

1 ответ

  1. Вместо отправки формы необходимо выполнить вызов ajax. Поэтому просто создайте функцию javascript, например, используя Jquery:

    $.post("<your servlet here>", $("#y<ourFormIdHere>").serialize(),callback);
    

    Где callback-это такая функция:

    function(data){
    console.log("Data",data); // do what you want with response data
    }
    

    Off конечно, вы должны привязать $.сообщение функции на кнопку формы.