如何在servlet中发送2数组



我在servlet中发送了一个2数组,但我不知道如何在javascript中发送我的第二个数组到我的servlet,我希望有人帮助我,谢谢。

<label for="pets">Choose your Vegetables:</label>
<select class="selectpicker" name="vegetables-selected"  id="vege" multiple aria-label="size 3 select example">
<option value="Carrot">Carrot</option>
<option value="Broccoli">Broccoli</option>
<option value="Cabbage">Cabbage</option>
<option value="Cucumber">Cucumber</option>
<option value="Mushroom">Mushroom</option>
</select>
<label for="pets">Choose your pets:</label>
<select class="selectpicker" name="vegetables-selected"  id="pets" multiple aria-label="size 3 select example">
<option value="dog">dog</option>
<option value="car">car</option>
<option value="snake">snake</option>
</select>
<Script>
document.getElementById('submit').onclick = function() {
var selected = [];
var selected2 = [];

for (var option of document.getElementById('vege').options
var option of document.getElementById('pets').options)
{
if (option.selected) {
selected.push(option.value);
}
}
document.location.href = 'output?selected='+ selected  ;
}
</Script>

西兰花、黄瓜、土豆空

for (var option of document.getElementById('vege').options
var option of document.getElementById('pets').options)
  1. 对不起,这是什么?for循环不是这样的。
  2. 为什么不创建一个模型类,在前端,表示页面上的数据(查看MV*设计模式),并使用模型表示/发送您的数据。比如:

src/models/YourPreferencesModel.js(或类似的东西)

class YourPreferencesModel extends BaseModel { 
constructor(vegetables = [], pets = []) { 
super();
this.vegetables = vegetables;
this.pets = pets;
}
}

,然后让你的BaseModel像:

src/models/BaseModel.js(或类似)

class BaseModel { 
/**
* @param { (success : boolean) => {} } onDone
**/
save(onDone) { 
let xhr = new XMLHttpRequest();
xhr.open("POST", '[your_endpoint_here]');

xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");

xhr.onload = () => {
onDone((xhr.status >= 200) && (xhr.status < 400));
}

xhr.send(JSON.stringify(this));
}

// something similar for get() method
}

和在HTML文件的<head>

<script src="src/models/BaseModel.js" />
<script src="src/models/YourPreferencesModel.js" />

在视图模型(或控制器)类中创建模型,在启动时实例化,让视图组件通过视图模型/控制器更新该模型,并将提交处理移动到视图模型/控制器。视图中的onclick会调用视图模型/控制器的save(),然后视图模型/控制器会调用模型的save()

免责声明:我没有运行这段代码,所以,像往常一样,任何在代码论坛上查看问题代码的人都应该检查它。

这段代码还使用了老式的XMLHttpRequest。你可以使用fetch(), jQuery的post(),…,任何在你的端。这将大大简化模型方法。

document.location.href = 'output?selected='+ selected  ;

另外,您只需更改页面URL,因此使用数据向服务器发出GET请求。不。这需要一个POST请求。

相关内容

  • 没有找到相关文章

最新更新