我在脚本中使用以下代码来调用servlet:
function dynamicallyDisplayText() {
var doctype = document.getElementById("doctype");
var lang = document.getElementById("lang");
var inputNames = [];
$("input").each(function () {
var name = $(this).attr("name");
if (((name) && name !== ""))) {
inputNames.push(this);
}
});
$.get('ServletClass', {
doctype: doctype,
lang: lang,
"inputNames": "inputNames"
}, function (responseJson) {
$.each(responseJson, function (index, fieldvalue) {
CKEDITOR.instances.editor1.setData(fieldvalue);
});
});
}
但是,它没有按预期重定向到servlet。我只想使用$.get
方法,那么如何将数组传递给$.get
方法,以便我可以在servlet上重定向。
答案 0 :(得分:0)
在$.get
中应该有
"inputNames": inputNames
答案 1 :(得分:0)
inputNames是您正在执行的each()
函数中 DOM元素 的数组,而不是名称
inputNames.push(this);
其中this
是本机DOM节点,而不是名称
将其更改为
var inputNames = [];
$("input").each(function() {
var name = $(this).attr("name");
if (name) {
inputNames.push( name ); // not "this"
}
});
和$ .get函数
$.get('ServletClass', {
doctype : doctype,
lang : lang,
inputNames : inputNames
}, function(responseJson) {
console.log(responseJson);
});
作为旁注,你可以用地图替换每个函数
var inputNames = $.map( $("input"), function (item) { return item.name });