当我在数组中有多个元素时,它将一个数组传递到我的控制器中。但是,如果数组中只有一个元素,它将作为字符串而不是字符串数组传递给控制器​​。

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中解释。

09-10 21:07