Проблема с плагином атмосферы Grails

Я использую подключаемый модуль Atmosphere в приложении Grails, чтобы выполнять push-вызовы Ajax клиенту. Базовая архитектура такова: у меня есть цикл на сервере, который создает данные, которые я хочу отправить в браузер, поэтому на каждой итерации он использует метод атмосферного широковещания() для отправки данных клиенту.

Он отлично работает, когда я использую его вне цикла, например:

def builder = new JSONBuilder()
def jsonResult = builder.build{
        artist = "incubus"
        location = {
                lat = 45.678909
                lng = -14.45667
        }
    }

broadcaster['/atmosphere/recommend'].broadcast(jsonResult)

Однако, когда я использую его программно внутри цикла, браузер выдает ошибку: Была указана недопустимая или недопустимая строка" code: "12", и это не работает должным образом.

Упрощенный пример цикла выглядит следующим образом:

[[lat:45.678909,lng:-14.45667],[lat:32.56433,lng:22.4566]].each{
        def builder = new JSONBuilder()
        def jsonResult = builder.build{
            artist = "incubus"
            location = {
                lat = '"${it.lat}"'
                lng = '"${it.lng}"'
            }
        }

        broadcaster['/atmosphere/recommend'].broadcast(jsonResult)
    }

Любые идеи, почему это происходит? Спасибо!


person Bruno Morgado    schedule 28.07.2011    source источник


Ответы (1)


Я думаю, что это должно работать, если вы удалите кавычки.

location = {
    lat = it.lat
    lng = it.lng
}

христианин

person user852518    schedule 28.07.2011