Getting parameter from doGet in servlet using Ajax

I want to get a parameter from the input form that is installed on my index.html:

GET:<br> 
<input type="text" size="20" id="name2" onblur="validate2()"  
     onFocus = "document.getElementById('msg2').innerHTML = ' '">
<div id = "msg">&nbsp</div>

On my servlet, I want to get this parameter request.getparameter ("name2")

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("Get");
    System.out.println(request.getParameter("name2"));
    if(!request.getParameter("name2").equals("")) {
        numer = request.getParameter("name2");
        serviceConnection(request, response);
    }
}

but when I run my application, system.out.println just prints a null variable.

In my ajaxvalidator javascript file, I wrote the following:

function validate2() {
var idField = document.getElementById("name2");
var data = "name2=" + encodeURIComponent(idField.value);
if (typeof XMLHttpRequest != "undefined") {
    req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
}
var url = "Validator"
req.open("GET", url, true);
req.onreadystatechange = inserter2
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);

}

function inserter2() {
    if (req.readyState == 4) {
        if (req.status == 200) {
            var msg1 = req.responseText
            if (msg1 == "") {
                document.getElementById("msg").innerHTML = "<div style=\"color:red\">Wadliwa nazwa</div>";
                document.getElementById("org").value = '';
            } else {
                document.getElementById("org").value = msg1;
            }
        }
    }

How to solve this problem?

+4
source share
1 answer

Your mistake here:

req.open("GET", url, true);
// ...
req.send(data);

HTTP GET URL , . POST. URL - ? URL- .

, :

req.open("GET", url + "?" + data, true);
// ...
req.send();

, .

. :

0

Source: https://habr.com/ru/post/1584760/


All Articles