javascript - 如何在 JavaScript 中迭代 Grails 列表

标签 javascript grails

我有这个 grails Controller ,它返回一个字符串列表:

class UserController {
  def getUsers = {
    def users = Lists.asList("user1", "user2", "user3")
    render users : users;
  }
}

还有一个调用上述 Controller 的 JavaScript:

    var displayUsers = function(users) {
       for (var i = 0; i < users.length; i++) {
          console.log(users[i];
// this iterates over each character in the users object and not over                 
// it's elements
// users objects is interpreted as a string object and not as a list
       }
    }

$(document).ready(function(){
    $('.expand-group').on('click', function(e) {
        $.ajax({
            url: '/getUsers',
            type: "GET",
            data: {}
        }).done(function(data, textStatus) {
               displayUsers(data);
        });
    });
});

我的输出如下:

[
'
u
s
e
r
s
'
:
[
'
u
...

那么我如何告诉 javascript 将我的用户对象视为数组?

最佳答案

您应该将响应作为 JSON 对象发送(来自 grails.converters 包)

def getUsers = {
    def users = Lists.asList("user1", "user2", "user3")
    render users as JSON;
}

关于javascript - 如何在 JavaScript 中迭代 Grails 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37378596/

相关文章:

javascript - IE11 在编辑值时将光标移动到输入的开头

javascript - 将变量从 JavaScript 传递到 Ruby session

grails - grails-hasErrors()

具有多个数据库的 Grails Multi-Tenancy

javascript - 使用 JavaScript 获取特定时区的日期时间

javascript - 如何使用 JQuery 提交动态创建的表单?

javascript - 有没有办法从扩展/背景页面显示/指示更新的选项卡?

grails - GRAILS将ID类型更改为 'int'后,我无法再创建对象

grails - List.retainAll()不能按预期工作(2.3.9版)

json - 将对象根添加到JSON