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);
    });
});

});

これは私のサーブレットです:

@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);
    });
});

次に、サーブレットで要求パラメーターを次のように取得します

request.getParameter("currBoard");

となり、

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

$.getajax 呼び出しでパラメーターを渡していないようです。さらに、パラメーターはgetParameter()メソッド notによって取得されます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 に答える