当我在数组中有多个元素时,它将一个数组传递到我的控制器中。但是,如果数组中只有一个元素,它将作为字符串而不是字符串数组传递给控制器。
javascript.js
var idArray = [];
idArray.push('testString');
Ext.Ajax.request({
url: '/mark/fetch',
params: {array: idArray}
});
markController.groovy
def fetch = {
def idArray = params.array
idArray.each{
print it
}
}
因此,
print it
一次打印testString的每个字母,而不是整个字符串。如何确定idArray始终作为数组传递到控制器中?
最佳答案
假设您在使用params
时指的是Grails控制器,则可以尝试使用params.list('array')
。params
的这种性质在here as Type Conversion中解释。