Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript数组传递给servlet问题_Javascript_Servlets_Jquery Post - Fatal编程技术网

将javascript数组传递给servlet问题

将javascript数组传递给servlet问题,javascript,servlets,jquery-post,Javascript,Servlets,Jquery Post,早上好,我正在使用jQuery.post()将java脚本数组从JSP发送到servlet,但这里的问题是它抛出了java.lang.NullPointerException 执行操作时,在servlets.DeleteServlet.doPost(DeleteServlet.java:45)上 下面是将数组发送到servlet的java脚本方法: <script type="text/javascript" src="jquery-1.9.1.min.js"></script

早上好,我正在使用
jQuery.post()
将java脚本数组从JSP发送到servlet,但这里的问题是它抛出了
java.lang.NullPointerException
执行操作时,在servlets.DeleteServlet.doPost(DeleteServlet.java:45)
上 下面是将数组发送到servlet的java脚本方法:

<script type="text/javascript" src="jquery-1.9.1.min.js"></script>

request.getParameterValues(“arrayData”)
将返回名为“arrayData”的所有HTTP请求参数的字符串数组。参数可以在查询字符串中,也可以在HTTP POST正文中

但是,

$.post('DeleteServlet', {
        arrayData : myIdsArray,
        mode : "insert"
});
不使用此名称创建任何参数。这就是为什么在第45行有一个空指针

在本例中,发送到服务器的是JSON字符串。您需要做的是在服务器上解析这个字符串。这意味着(1)从POST主体获取字符串。(2) 解析它。您可能需要使用第三方JSON解析器。json simple是一个很好的例子


或者,如果希望保持服务器代码不变,可以更改客户端代码以创建这些请求参数。最简单的方法可能是将它们放在查询字符串上。

那么DeleteServlet.java中的第45行在哪里?早上好?这里是22点42分!在js中使用console.log(myIdsArray)时会得到什么?
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String[] arrayData=request.getParameterValues("arrayData");
    PrintWriter out=response.getWriter();
    for (String string : arrayData) { // line 45
        out.println(string);

    }
$.post('DeleteServlet', {
        arrayData : myIdsArray,
        mode : "insert"
});