0

找不到从 HttpRequest 获取参数值的正确方法:

这是我的 JQuery 文件:

$(document).ready(function() {
var currBoard;
var currCell;
$(".cell").click(function() {

    Cardboard = $ (this). attr ('name');
    currCell = $(this).attr('id');
    $.get('InGameServlet', function(responseText) {
        $("#"+currCell).text(responseText);

        alert("cell num:" + currCell + " Board: " + currBoard);
    });
});

});

这是我的 Servlet:

@WebServlet(name = "InGameServlet", urlPatterns = {"/InGameServlet"})
public class InGameServlet extends HttpServlet {
   protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    printSign(request.getParameter("currBoard"), request.getParameter("currCell"),     response);
}

在调试模式下,我看到我从请求中获得的值是 NULL!

我究竟做错了什么?

4

4 回答 4

2

你打电话getAttribute()而不是getParameter().

请求参数作为请求参数存储在HttpServletRequest.

利用

String value = request.getParameter("your parameter key");

这显然取决于您的请求是否实际包含请求参数。这是使用 jQuery 的get().

于 2013-09-27T13:54:56.600 回答
1

您没有从 ajax 请求中传递值

$(".cell").click(function() {

    Cardboard = $ (this). attr ('name');
    currCell = $(this).attr('id');
    $.get('InGameServlet?currBoard="+Cardboard+"currCell="+currCell', function(responseText) {  //passing data as quesry param.
        $("#"+currCell).text(responseText);

        alert("cell num:" + currCell + " Board: " + currBoard);
    });
});

然后在 servlet 中获取请求参数为

request.getParameter("currBoard");

于是就变成了,

printSign(request.getParameter("currBoard"),request.getParameter("currCell"),response);
于 2013-09-27T13:56:56.433 回答
0

您似乎没有在$.getajax 调用中传递任何参数。另外参数不是通过getParameter()方法获得的getValue()

于 2013-09-27T13:57:54.700 回答
0

首先,您需要将参数与请求一起发送:

var data = {
    currBoard: $(this).attr('name'),
    currCell: $(this).attr('id')
};
$.get('InGameServlet', data, function (responseText) {
    $("#" + currCell).text(responseText);

    alert("cell num:" + currCell + " Board: " + currBoard);
});

然后用request.getParameter()而不是检索它们getAttribute()

于 2013-09-27T13:58:59.370 回答