如何将数据从Ajax发送到Servlet

时间:2014-04-14 08:23:35

标签: java javascript ajax jsp servlets

Servlet代码

   protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html");
    String s =  request.getAttribute("stopName").toString();
    response.getWriter().write(s);
}

Ajax代码

function makeRequest(i) {
                 var stopName = document.getElementById('newStopName' + i).value;
                var Longitude = document.getElementById('newLongitude' + i).value;
                var Latitude = document.getElementById('newLatitude' + i).value;
                var Description = document.getElementById('newStopDesc' + i).value;

                document.getElementById('hidnewStopName' + i).value = stopName;
                document.getElementById('hidnewLongitude' + i).value = Longitude;
                document.getElementById('hidnewLatitude' + i).value = Latitude;
                document.getElementById('hidnewStopDesc' + i).value = Description;
                var xmlHttpRequest = getXMLHttpRequest();

                xmlHttpRequest.onreadystatechange = getReadyStateHandler(xmlHttpRequest);
                xmlHttpRequest.open("GET", "Edit_Route", true);
                xmlHttpRequest.setRequestHeader("Content-Type",
                        "application/x-www-form-urlencoded");
                xmlHttpRequest.send("stopName="+encodeURIComponent(stopName));
            }

            /*
             * Returns a function that waits for the state change in XMLHttpRequest
             */
            function getReadyStateHandler(xmlHttpRequest) {

                // an anonymous function returned
                // it listens to the XMLHttpRequest instance
                return function() {
                    if (xmlHttpRequest.readyState === 4) {
                        if (xmlHttpRequest.status === 200) {
                            alert(xmlHttpRequest.responseText);
                        } else {
                            alert("HTTP error " + xmlHttpRequest.status + ": " + xmlHttpRequest.statusText);
                        }
                    }
                };
            }

我想发送StopName并再次发送到客户端使用ajax请帮助我使用javascript而不是jquery.Actually我想发送数据并将其保存到数据库,我希望测试它

2 个答案:

答案 0 :(得分:0)

我认为这可能是因为你以错误的方式得到参数。

String stopName =  request.getParameter("stopName") != null ? request.getParameter("stopName").toString() : "null value";

它也将处理null条件。

试试这段代码。

答案 1 :(得分:0)

ajax代码中的servlet路径是否正确? 我是说" / Edit_Route"不是" Edit_Route"

也许ajax找不到你的servlet,我想