Javascript 在JQuery Ajax中发布multiselect列表的所有选定项

Javascript 在JQuery Ajax中发布multiselect列表的所有选定项,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我已经实现了一个网页,用不同的算法来衡量两个句子之间的相似性。当用户只选择一个算法时,下面的代码运行良好,我将simAlgorithm列表更改为允许多个算法。但不幸的是,我没有发布所有选定的项目 JSP代码: <%@page contentType="text/html" pageEncoding="UTF-8"%> }由于函数中的变量myAlgorithm是一个数组,我建议重写以下行;jQuery将负责为客户端的ajax调用创建必要的查询字符串。更改: data: "{\"sen

我已经实现了一个网页,用不同的算法来衡量两个句子之间的相似性。当用户只选择一个算法时,下面的代码运行良好,我将simAlgorithm列表更改为允许多个算法。但不幸的是,我没有发布所有选定的项目

JSP代码:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
}

由于函数中的变量myAlgorithm是一个数组,我建议重写以下行;jQuery将负责为客户端的ajax调用创建必要的查询字符串。更改:

data: "{\"sen1\":\"" + sen1 + "\",\"sen2\":\"" + sen2 + "\",\"lang\":\"" + lang + "\",\"myAlgorithm\":\"" + myAlgorithm + "\",\"method\":\"" + method + "\",}",
致:

现在,在服务器端,您必须更新代码,以期望并操作myAlgorithm参数中的数组

更新

既然您正在向服务器发送一个“JSON”字符串,而不是参数/值对,那么您需要更改的字符串就是:

 myAlgorithm
致:

希望这会发送字符串中您已经在处理的所有选定值。新字符串将是:

data: "{\"sen1\":\"" + sen1 + "\",\"sen2\":\"" + sen2 + "\",\"lang\":\"" + lang + "\",\"myAlgorithm\":\"" + JSON.stringify( myAlgorithm ) + "\",\"method\":\"" + method + "\",}",

请您解释一下如何接收所选项目并将其保存到服务器端的新阵列中?我已经更新了代码;我没有仔细查看您的服务器端代码。让我们知道。我在服务器端的这一行中使用MyAlgorithmAlgorithmAlgorithms.valueOfStringjsono.getmyAlgorithm,1.0;我如何更新它,例如选择索引号0,然后我将编写一个循环来处理所有项。我使用java已经有一段时间了,但我知道如果使用参数/值对,您将使用字符串[]myAlgorithm=request.getParameterValues'myAlgorithm'。。。因此,在您的情况下,您必须更改代码以处理字符串数组而不是数组。抱歉,我无法提供更具体的帮助。非常感谢Peter,这行代码无效:String[]myAlgorithm=request.getParameterValues'myAlgorithm'。我通过以下代码解决了它:String AlgorithmString=Stringjsono.getmyAlgorithm;String[]AlgorithmArray=AlgorithmString.split,;
data: {
      sen1: sen1,
      sen2: sen2,
      lang: lang,
      myAlgorithm: myAlgorithm,
      method: method
},
 myAlgorithm
JSON.stringify( myAlgorithm )
data: "{\"sen1\":\"" + sen1 + "\",\"sen2\":\"" + sen2 + "\",\"lang\":\"" + lang + "\",\"myAlgorithm\":\"" + JSON.stringify( myAlgorithm ) + "\",\"method\":\"" + method + "\",}",